From 0436afea65730c1bd0aa9d9ef0e3b45d1ddea433 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Mon, 6 Jan 2025 21:14:40 +0100 Subject: [PATCH] some dropped sanity --- code/game/gamemodes/changeling/powers/armor.dm | 8 +++++--- code/game/gamemodes/technomancer/spell_objs.dm | 2 +- code/game/machinery/pipe/construction.dm | 4 ++-- code/game/objects/items.dm | 1 + code/game/objects/items/devices/chameleonproj.dm | 2 +- code/game/objects/items/devices/gps.dm | 2 +- code/game/objects/items/weapons/chewables.dm | 2 +- code/game/objects/items/weapons/handcuffs.dm | 2 +- code/game/objects/items/weapons/material/twohanded.dm | 2 +- code/game/objects/items/weapons/melee/energy.dm | 2 +- code/game/objects/items/weapons/melee/shock_maul.dm | 2 +- code/game/objects/items/weapons/mop_deploy.dm | 2 +- code/game/objects/items/weapons/stunbaton.dm | 2 +- code/game/objects/items/weapons/weaponry.dm | 2 +- code/modules/artifice/deadringer.dm | 2 +- code/modules/artifice/telecube.dm | 2 +- code/modules/assembly/proximity.dm | 2 +- code/modules/awaymissions/redgate.dm | 4 ++-- code/modules/clothing/accessories/accessory_vr.dm | 4 ++-- code/modules/clothing/accessories/clothing.dm | 2 +- code/modules/clothing/clothing.dm | 2 +- code/modules/clothing/glasses/hud_vr.dm | 2 +- code/modules/clothing/gloves/gauntlets.dm | 4 ++-- code/modules/clothing/head/soft_caps.dm | 2 +- code/modules/clothing/masks/monitor.dm | 2 +- code/modules/clothing/masks/tesh_synth_facemask.dm | 2 +- code/modules/clothing/shoes/magboots.dm | 4 ++-- code/modules/clothing/spacesuits/spacesuits.dm | 2 +- code/modules/clothing/spacesuits/void/void.dm | 2 +- code/modules/clothing/suits/hooded.dm | 2 +- code/modules/mob/mob_grab.dm | 2 +- code/modules/vore/fluffstuff/custom_clothes_vr.dm | 2 +- code/modules/vore/fluffstuff/custom_items_vr.dm | 2 +- 33 files changed, 42 insertions(+), 39 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/armor.dm b/code/game/gamemodes/changeling/powers/armor.dm index 55b55ada488..d1c39338b92 100644 --- a/code/game/gamemodes/changeling/powers/armor.dm +++ b/code/game/gamemodes/changeling/powers/armor.dm @@ -48,7 +48,8 @@ span_warning("We inflate our flesh, creating a spaceproof suit!"), span_warningplain("You hear organic matter ripping and tearing!")) -/obj/item/clothing/suit/space/changeling/dropped() +/obj/item/clothing/suit/space/changeling/dropped(mob/user) + ..() qdel(src) /obj/item/clothing/head/helmet/space/changeling @@ -60,7 +61,8 @@ body_parts_covered = HEAD|FACE|EYES canremove = FALSE -/obj/item/clothing/head/helmet/space/changeling/dropped() +/obj/item/clothing/head/helmet/space/changeling/dropped(mob/user) + ..() qdel(src) /obj/item/clothing/shoes/magboots/changeling @@ -89,7 +91,7 @@ force = 5 to_chat(user, "We cling to the terrain below us.") -/obj/item/clothing/shoes/magboots/changeling/dropped() +/obj/item/clothing/shoes/magboots/changeling/dropped(mob/user) ..() qdel(src) diff --git a/code/game/gamemodes/technomancer/spell_objs.dm b/code/game/gamemodes/technomancer/spell_objs.dm index 27e8f168437..e869e8b876a 100644 --- a/code/game/gamemodes/technomancer/spell_objs.dm +++ b/code/game/gamemodes/technomancer/spell_objs.dm @@ -282,7 +282,7 @@ // Proc: dropped() // Parameters: 0 // Description: Deletes the spell object immediately. -/obj/item/spell/dropped() +/obj/item/spell/dropped(mob/user) spawn(1) if(src) qdel(src) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 47c9f11e628..1f4db6607f4 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -65,7 +65,7 @@ Buildable meters if(make_from.mirrored) do_a_flip() -/obj/item/pipe/dropped() +/obj/item/pipe/dropped(mob/user) if(loc) setPipingLayer(piping_layer) return ..() @@ -286,7 +286,7 @@ Buildable meters to_chat(user, span_notice("You fasten the meter to the pipe.")) qdel(src) -/obj/item/pipe_meter/dropped() +/obj/item/pipe_meter/dropped(mob/user) . = ..() if(loc) setAttachLayer(piping_layer) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index a8d526c31a9..3ead10fe5da 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -379,6 +379,7 @@ // apparently called whenever an item is removed from a slot, container, or anything else. /obj/item/proc/dropped(mob/user as mob) + SHOULD_CALL_PARENT(TRUE) if(zoom) zoom() //binoculars, scope, etc appearance_flags &= ~NO_CLIENT_COLOR diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index e85308b5dda..ae3b767bc64 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -19,7 +19,7 @@ pickup_sound = 'sound/items/pickup/device.ogg' drop_sound = 'sound/items/drop/device.ogg' -/obj/item/chameleon/dropped() +/obj/item/chameleon/dropped(mob/user) disrupt() ..() diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 98993800d79..578279ae0a6 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -78,7 +78,7 @@ GLOBAL_LIST_EMPTY(GPS_list) . = ..() update_holder() -/obj/item/gps/dropped() +/obj/item/gps/dropped(mob/user) . = ..() update_holder() diff --git a/code/game/objects/items/weapons/chewables.dm b/code/game/objects/items/weapons/chewables.dm index fa69ce9b4a1..8cfb04aa8fe 100644 --- a/code/game/objects/items/weapons/chewables.dm +++ b/code/game/objects/items/weapons/chewables.dm @@ -43,7 +43,7 @@ else to_chat(user, span_notice("You don't have a mouth, and can't make much use of \the [src].")) -/obj/item/clothing/mask/chewable/dropped() +/obj/item/clothing/mask/chewable/dropped(mob/user) STOP_PROCESSING(SSprocessing, src) ..() diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 92c8683e5c3..42fe4ae1ab4 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -301,7 +301,7 @@ var/last_chew = 0 if(user) //A ranged legcuff, until proper implementation as items it remains a projectile-only thing. return 1 -/obj/item/handcuffs/legcuffs/bola/dropped() +/obj/item/handcuffs/legcuffs/bola/dropped(mob/user) visible_message(span_infoplain(span_bold("\The [src]") + " falls apart!")) qdel(src) diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index 3490468795b..ba344cedaea 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -72,7 +72,7 @@ icon_state = "[base_icon][wielded]" item_state = icon_state -/obj/item/material/twohanded/dropped() +/obj/item/material/twohanded/dropped(mob/user) ..() if(wielded) spawn(0) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 96b96712d07..b56b6f37c32 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -453,7 +453,7 @@ user.drop_from_inventory(src) spawn(1) if(src) qdel(src) -/obj/item/melee/energy/blade/dropped() +/obj/item/melee/energy/blade/dropped(mob/user) spawn(1) if(src) qdel(src) /obj/item/melee/energy/blade/process() diff --git a/code/game/objects/items/weapons/melee/shock_maul.dm b/code/game/objects/items/weapons/melee/shock_maul.dm index b5df24d40c8..74413851c5f 100644 --- a/code/game/objects/items/weapons/melee/shock_maul.dm +++ b/code/game/objects/items/weapons/melee/shock_maul.dm @@ -146,7 +146,7 @@ else set_light(0) -/obj/item/melee/shock_maul/dropped() +/obj/item/melee/shock_maul/dropped(mob/user) ..() if(status) status = 0 diff --git a/code/game/objects/items/weapons/mop_deploy.dm b/code/game/objects/items/weapons/mop_deploy.dm index 9b63216af2b..2498240660c 100644 --- a/code/game/objects/items/weapons/mop_deploy.dm +++ b/code/game/objects/items/weapons/mop_deploy.dm @@ -56,7 +56,7 @@ user.drop_from_inventory(src) spawn(1) if(!QDELETED(src)) qdel(src) -/obj/item/mop_deploy/dropped() +/obj/item/mop_deploy/dropped(mob/user) spawn(1) if(!QDELETED(src)) qdel(src) /obj/item/mop_deploy/process() diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index eedb93e1809..a03c72af748 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -99,7 +99,7 @@ else set_light(0) -/obj/item/melee/baton/dropped() +/obj/item/melee/baton/dropped(mob/user) ..() if(status && grip_safety && !taped_safety) status = 0 diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 0e01e58c39b..79fe9ff8d1c 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -59,7 +59,7 @@ force = 0 var/net_type = /obj/effect/energy_net -/obj/item/energy_net/dropped() +/obj/item/energy_net/dropped(mob/user) spawn(10) if(src) qdel(src) diff --git a/code/modules/artifice/deadringer.dm b/code/modules/artifice/deadringer.dm index fb1f60b7ecc..cebd607fa40 100644 --- a/code/modules/artifice/deadringer.dm +++ b/code/modules/artifice/deadringer.dm @@ -23,7 +23,7 @@ STOP_PROCESSING(SSobj, src) ..() -/obj/item/deadringer/dropped() +/obj/item/deadringer/dropped(mob/user) if(timer > 20) reveal() watchowner = null diff --git a/code/modules/artifice/telecube.dm b/code/modules/artifice/telecube.dm index 112625a2b9c..a4be0167317 100644 --- a/code/modules/artifice/telecube.dm +++ b/code/modules/artifice/telecube.dm @@ -114,7 +114,7 @@ . = ..() update_icon() -/obj/item/telecube/dropped() +/obj/item/telecube/dropped(mob/user) . = ..() update_icon() diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 42c156e9634..b445938eb35 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -63,7 +63,7 @@ toggle_scan() time = initial(time) -/obj/item/assembly/prox_sensor/dropped() +/obj/item/assembly/prox_sensor/dropped(mob/user) sense() /obj/item/assembly/prox_sensor/proc/toggle_scan() diff --git a/code/modules/awaymissions/redgate.dm b/code/modules/awaymissions/redgate.dm index c43d695864c..33aa3f40d80 100644 --- a/code/modules/awaymissions/redgate.dm +++ b/code/modules/awaymissions/redgate.dm @@ -1489,7 +1489,7 @@ /* //TODO - make this not trigger when the flag is returned to its original location -/obj/item/laserdome_flag/dropped() +/obj/item/laserdome_flag/dropped(mob/user) . = ..() global_announcer.autosay("[src] dropped!","Laserdome Announcer","Entertainment") */ @@ -1654,7 +1654,7 @@ /* //TODO- make this not trigger when the ball is thrown or dunked, only when it's actually dropped -/obj/item/laserdome_hyperball/dropped() +/obj/item/laserdome_hyperball/dropped(mob/user) . = ..() global_announcer.autosay("[capitalize(last_team)] fumble!","Laserdome Announcer","Entertainment") */ diff --git a/code/modules/clothing/accessories/accessory_vr.dm b/code/modules/clothing/accessories/accessory_vr.dm index 3ede4d67a7a..10937273306 100644 --- a/code/modules/clothing/accessories/accessory_vr.dm +++ b/code/modules/clothing/accessories/accessory_vr.dm @@ -41,7 +41,7 @@ setUniqueSpeciesSprite() ..(S, user) -/obj/item/clothing/accessory/choker/dropped() +/obj/item/clothing/accessory/choker/dropped(mob/user) icon_override = icon_previous_override /obj/item/clothing/accessory/collar @@ -79,7 +79,7 @@ setUniqueSpeciesSprite() ..(S, user) -/obj/item/clothing/accessory/collar/dropped() +/obj/item/clothing/accessory/collar/dropped(mob/user) icon_override = icon_previous_override /obj/item/clothing/accessory/collar/silver diff --git a/code/modules/clothing/accessories/clothing.dm b/code/modules/clothing/accessories/clothing.dm index aac2b495ec6..5b9aae59da5 100644 --- a/code/modules/clothing/accessories/clothing.dm +++ b/code/modules/clothing/accessories/clothing.dm @@ -187,7 +187,7 @@ icon_override = 'icons/inventory/accessory/mob.dmi' update_clothing_icon() -/obj/item/clothing/accessory/poncho/dropped() //Resets the override to prevent the wrong .dmi from being used because equipped only triggers when wearing ponchos as suits. +/obj/item/clothing/accessory/poncho/dropped(mob/user) //Resets the override to prevent the wrong .dmi from being used because equipped only triggers when wearing ponchos as suits. icon_override = null /obj/item/clothing/accessory/poncho/green diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 4aaf9036ba9..49fde57ce59 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -406,7 +406,7 @@ wearer = H //TODO clean this when magboots are cleaned return 1 -/obj/item/clothing/gloves/dropped() +/obj/item/clothing/gloves/dropped(mob/user) ..() if(!wearer) diff --git a/code/modules/clothing/glasses/hud_vr.dm b/code/modules/clothing/glasses/hud_vr.dm index adfed8dc0ef..c14a2ed45ea 100644 --- a/code/modules/clothing/glasses/hud_vr.dm +++ b/code/modules/clothing/glasses/hud_vr.dm @@ -25,7 +25,7 @@ QDEL_NULL(tgarscreen) . = ..() -/obj/item/clothing/glasses/omnihud/dropped() +/obj/item/clothing/glasses/omnihud/dropped(mob/user) if(tgarscreen) SStgui.close_uis(src) ..() diff --git a/code/modules/clothing/gloves/gauntlets.dm b/code/modules/clothing/gloves/gauntlets.dm index efb25587a92..0a27fbb0cb7 100644 --- a/code/modules/clothing/gloves/gauntlets.dm +++ b/code/modules/clothing/gloves/gauntlets.dm @@ -39,7 +39,7 @@ wearer = H return 1 -/obj/item/clothing/gloves/gauntlets/dropped() +/obj/item/clothing/gloves/gauntlets/dropped(mob/user) var/mob/living/carbon/human/H = wearer if(gloves) if(!H.equip_to_slot_if_possible(gloves, slot_gloves)) @@ -47,4 +47,4 @@ if(ring) gloves.ring = ring src.gloves = null - wearer = null \ No newline at end of file + wearer = null diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 1d1742bca9d..71ed3f64ca5 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -7,7 +7,7 @@ siemens_coefficient = 0.9 body_parts_covered = 0 -/obj/item/clothing/head/soft/dropped() +/obj/item/clothing/head/soft/dropped(mob/user) icon_state = initial(icon_state) flipped=0 ..() diff --git a/code/modules/clothing/masks/monitor.dm b/code/modules/clothing/masks/monitor.dm index 5efb8fb6d51..1e2b681a39e 100644 --- a/code/modules/clothing/masks/monitor.dm +++ b/code/modules/clothing/masks/monitor.dm @@ -29,7 +29,7 @@ icon_state = monitor_states[monitor_state_index] to_chat(H, span_notice("\The [src] connects to your display output.")) -/obj/item/clothing/mask/monitor/dropped() +/obj/item/clothing/mask/monitor/dropped(mob/user) canremove = TRUE return ..() diff --git a/code/modules/clothing/masks/tesh_synth_facemask.dm b/code/modules/clothing/masks/tesh_synth_facemask.dm index e63002f3cca..1bead921c86 100644 --- a/code/modules/clothing/masks/tesh_synth_facemask.dm +++ b/code/modules/clothing/masks/tesh_synth_facemask.dm @@ -21,7 +21,7 @@ maskmaster = H START_PROCESSING(SSprocessing, src) -/obj/item/clothing/mask/synthfacemask/dropped() +/obj/item/clothing/mask/synthfacemask/dropped(mob/user) canremove = 1 maskmaster = null STOP_PROCESSING(SSprocessing, src) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 756d7f4d3f9..d58de1f1628 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -69,7 +69,7 @@ wearer = H return 1 -/obj/item/clothing/shoes/magboots/dropped() +/obj/item/clothing/shoes/magboots/dropped(mob/user) ..() var/mob/living/carbon/human/H = wearer if(shoes) @@ -115,7 +115,7 @@ //In case they somehow come off while enabled. /obj/item/clothing/shoes/magboots/vox/dropped(mob/user as mob) - ..() + ..(user) if(src.magpulse) user.visible_message("The [src] go limp as they are removed from [usr]'s feet.", "The [src] go limp as they are removed from your feet.") item_flags &= ~NOSLIP diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index b70ddc6a571..d4bdfc61881 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -101,7 +101,7 @@ check_limb_support(M) ..() -/obj/item/clothing/suit/space/dropped(var/mob/user) +/obj/item/clothing/suit/space/dropped(mob/user) check_limb_support(user) ..() diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 5402905a237..143de9b9c50 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -111,7 +111,7 @@ to_chat(M, "Your suit's cooling unit deploys.") cooler.canremove = FALSE -/obj/item/clothing/suit/space/void/dropped() +/obj/item/clothing/suit/space/void/dropped(mob/user) ..() var/mob/living/carbon/human/H diff --git a/code/modules/clothing/suits/hooded.dm b/code/modules/clothing/suits/hooded.dm index 9efe8ab4940..566d9c65e2e 100644 --- a/code/modules/clothing/suits/hooded.dm +++ b/code/modules/clothing/suits/hooded.dm @@ -42,7 +42,7 @@ H.update_inv_wear_suit() hood.forceMove(src) -/obj/item/clothing/suit/storage/hooded/dropped() +/obj/item/clothing/suit/storage/hooded/dropped(mob/user) RemoveHood() ..() diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 70b99d2ad0d..499d7089b5c 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -347,7 +347,7 @@ if(M == assailant && state >= GRAB_AGGRESSIVE) devour(affecting, assailant) -/obj/item/grab/dropped() +/obj/item/grab/dropped(mob/user) loc = null if(!QDELETED(src)) qdel(src) diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index 3557aefd065..a43bab5c77c 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -2283,7 +2283,7 @@ Departamental Swimsuits, for general use icon_override = 'icons/vore/custom_onmob_vr.dmi' update_clothing_icon() -/obj/item/clothing/accessory/poncho/roles/cloak/fluff/cloakglowing/dropped() +/obj/item/clothing/accessory/poncho/roles/cloak/fluff/cloakglowing/dropped(mob/user) icon_override = 'icons/vore/custom_onmob_vr.dmi' /obj/item/clothing/accessory/poncho/roles/cloak/fluff/cloakglowing/proc/colorswap(mob/user) diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index eca1456e88f..2ea513bad20 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -962,7 +962,7 @@ else set_light(0) -/obj/item/melee/baton/fluff/stunstaff/dropped() +/obj/item/melee/baton/fluff/stunstaff/dropped(mob/user) ..() if(wielded) wielded = 0