diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index efe047ebef..f6946a353d 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -74,7 +74,8 @@ var/const/tk_maxrange = 15 var/atom/movable/focus = null var/mob/living/host = null -/obj/item/tk_grab/dropped(mob/user as mob) +/obj/item/tk_grab/dropped(mob/user) + ..() if(focus && user && loc != user && loc != user.loc) // drop_item() gets called when you tk-attack a table/closet with an item if(focus.Adjacent(loc)) focus.loc = loc diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 838954cdd4..2c755cec12 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -564,7 +564,7 @@ GLOBAL_DATUM(spoiler_obfuscation_image, /image) return if(ourmob.client?.holder) return - if(isanimal(ourmob)) + if(issimplekin(ourmob)) var/mob/living/simple_mob/shadekin/SK = ourmob if(SK.ability_flags & AB_PHASE_SHIFTED) SK.phase_in(SK.loc) diff --git a/code/game/gamemodes/changeling/powers/armblade.dm b/code/game/gamemodes/changeling/powers/armblade.dm index 650b134800..6b49e7fed2 100644 --- a/code/game/gamemodes/changeling/powers/armblade.dm +++ b/code/game/gamemodes/changeling/powers/armblade.dm @@ -75,6 +75,7 @@ src.creator = loc /obj/item/melee/changeling/dropped(mob/user) + ..() visible_message(span_warning("With a sickening crunch, [creator] reforms their arm!"), span_notice("We assimilate the weapon back into our body."), span_warningplain("You hear organic matter ripping and tearing!")) diff --git a/code/game/gamemodes/changeling/powers/armor.dm b/code/game/gamemodes/changeling/powers/armor.dm index 55b55ada48..d1c39338b9 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/changeling/powers/bioelectrogenesis.dm b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm index cb1938fc1c..cce2d1da01 100644 --- a/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm +++ b/code/game/gamemodes/changeling/powers/bioelectrogenesis.dm @@ -122,6 +122,7 @@ new /obj/effect/effect/sparks(T) /obj/item/electric_hand/dropped(mob/user) + ..() spawn(1) if(src) qdel(src) diff --git a/code/game/gamemodes/changeling/powers/electric_lockpick.dm b/code/game/gamemodes/changeling/powers/electric_lockpick.dm index 3b4edc576f..59ed913073 100644 --- a/code/game/gamemodes/changeling/powers/electric_lockpick.dm +++ b/code/game/gamemodes/changeling/powers/electric_lockpick.dm @@ -37,6 +37,7 @@ to_chat(loc, span_notice("We shape our finger to fit inside electronics, and are ready to force them open.")) /obj/item/finger_lockpick/dropped(mob/user) + ..() to_chat(user, span_notice("We discreetly shape our finger back to a less suspicious form.")) spawn(1) if(src) diff --git a/code/game/gamemodes/technomancer/spell_objs.dm b/code/game/gamemodes/technomancer/spell_objs.dm index 27e8f16843..a18db49170 100644 --- a/code/game/gamemodes/technomancer/spell_objs.dm +++ b/code/game/gamemodes/technomancer/spell_objs.dm @@ -282,7 +282,8 @@ // 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 47c9f11e62..1f4db6607f 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 7009c32833..3769addad2 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -379,7 +379,8 @@ playsound(src, drop_sound, 30, preference = /datum/preference/toggle/drop_sounds) // apparently called whenever an item is removed from a slot, container, or anything else. -/obj/item/proc/dropped(mob/user as mob) +/obj/item/proc/dropped(mob/user) + SHOULD_CALL_PARENT(TRUE) if(zoom) zoom() //binoculars, scope, etc appearance_flags &= ~NO_CLIENT_COLOR diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index d3cd836ff4..ac9f4a3c6f 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -337,7 +337,7 @@ usr.client.images.Remove(i) // Make sure to turn off the colors when we drop the blueprints. -/obj/item/blueprints/dropped(mob/user as mob) +/obj/item/blueprints/dropped(mob/user) if(areaColor_turfs.len) seeAreaColors_remove() return ..() diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index e85308b5dd..ae3b767bc6 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 5bcdb421fd..bb3b5c89fd 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/devices/t_scanner.dm b/code/game/objects/items/devices/t_scanner.dm index 50fff1fdd6..a16f8491c3 100644 --- a/code/game/objects/items/devices/t_scanner.dm +++ b/code/game/objects/items/devices/t_scanner.dm @@ -135,6 +135,7 @@ /obj/item/t_scanner/dropped(mob/user) set_user_client(null) + ..() /obj/item/t_scanner/upgraded name = "Upgraded T-ray Scanner" diff --git a/code/game/objects/items/weapons/candle.dm b/code/game/objects/items/weapons/candle.dm index b5b9e4a6eb..e184066dee 100644 --- a/code/game/objects/items/weapons/candle.dm +++ b/code/game/objects/items/weapons/candle.dm @@ -58,7 +58,7 @@ if(!wax) new/obj/item/trash/candle(src.loc) if(istype(src.loc, /mob)) - src.dropped() + src.dropped(src.loc) qdel(src) update_icon() if(istype(loc, /turf)) //start a fire if possible diff --git a/code/game/objects/items/weapons/chewables.dm b/code/game/objects/items/weapons/chewables.dm index 063b54fb3d..b19eb147c5 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/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index ef45ac0360..12c3da4b1f 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -48,7 +48,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM location.hotspot_expose(700, 5) return -/obj/item/flame/match/dropped(mob/user as mob) +/obj/item/flame/match/dropped(mob/user) //If dropped, put ourselves out //not before lighting up the turf we land on, though. if(lit) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 92c8683e5c..c80d132e56 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -301,7 +301,8 @@ 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) @@ -310,12 +311,12 @@ var/last_chew = 0 var/mob/living/carbon/human/H = target if(!istype(H)) - src.dropped() + src.dropped(user) return 0 if(!H.has_organ_for_slot(slot_legcuffed)) H.visible_message(span_infoplain(span_bold("\The [src]") + " slams into [H], but slides off!")) - src.dropped() + src.dropped(user) return 0 H.visible_message(span_danger("\The [H] has been snared by \the [src]!")) diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index 91c76b65b3..c648e82b16 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 93f3778728..9dda3252ad 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -279,7 +279,7 @@ projectile_parry_chance = 65 -/obj/item/melee/energy/sword/dropped(var/mob/user) +/obj/item/melee/energy/sword/dropped(mob/user) ..() if(!istype(loc,/mob)) deactivate(user) @@ -453,7 +453,8 @@ 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 c6a8d2e686..d04f4a789a 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 9b63216af2..2b2a9130f8 100644 --- a/code/game/objects/items/weapons/mop_deploy.dm +++ b/code/game/objects/items/weapons/mop_deploy.dm @@ -56,7 +56,8 @@ 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/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index c184d8cb34..1f015cb73b 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -34,7 +34,7 @@ ..(user, slot) /* -/obj/item/storage/backpack/dropped(mob/user as mob) +/obj/item/storage/backpack/dropped(mob/user) if (loc == user && src.use_sound) playsound(src, src.use_sound, 50, 1, -5) ..(user) diff --git a/code/game/objects/items/weapons/storage/laundry_basket.dm b/code/game/objects/items/weapons/storage/laundry_basket.dm index 17d20f0456..5cfd391d73 100644 --- a/code/game/objects/items/weapons/storage/laundry_basket.dm +++ b/code/game/objects/items/weapons/storage/laundry_basket.dm @@ -58,21 +58,21 @@ return -/obj/item/storage/laundry_basket/MouseDrop(obj/over_object as obj) +/obj/item/storage/laundry_basket/MouseDrop(obj/over_object) if(over_object == usr) return else return ..() -/obj/item/storage/laundry_basket/dropped(mob/user as mob) +/obj/item/storage/laundry_basket/dropped(mob/user) if(linked) QDEL_NULL(linked) return ..() -/obj/item/storage/laundry_basket/show_to(mob/user as mob) +/obj/item/storage/laundry_basket/show_to(mob/user) return -/obj/item/storage/laundry_basket/open(mob/user as mob) +/obj/item/storage/laundry_basket/open(mob/user) //Offhand @@ -82,7 +82,8 @@ name = "second hand" use_to_pickup = FALSE -/obj/item/storage/laundry_basket/offhand/dropped(mob/user as mob) +/obj/item/storage/laundry_basket/offhand/dropped(mob/user) + SHOULD_CALL_PARENT(FALSE) if(user.isEquipped(linked)) user.drop_from_inventory(linked) return diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index d06729d42f..d22192eec0 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -614,8 +614,8 @@ W.add_fingerprint(user) return handle_item_insertion(W) -/obj/item/storage/dropped(mob/user as mob) - return +/obj/item/storage/dropped(mob/user) + return ..() /obj/item/storage/attack_hand(mob/user as mob) if(ishuman(user) && !pocketable) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 8f3c966090..9ee02f174e 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/traps_vr.dm b/code/game/objects/items/weapons/traps_vr.dm index 07530e8361..d6ae54e717 100644 --- a/code/game/objects/items/weapons/traps_vr.dm +++ b/code/game/objects/items/weapons/traps_vr.dm @@ -13,6 +13,6 @@ remove_verb(H, /mob/living/proc/shred_limb_temp) ..() -/obj/item/beartrap/dropped(var/mob/user) +/obj/item/beartrap/dropped(mob/user) remove_verb(user, /mob/living/proc/shred_limb_temp) ..() diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm index 1149d2f3ec..fdf512b299 100644 --- a/code/game/objects/items/weapons/trays.dm +++ b/code/game/objects/items/weapons/trays.dm @@ -196,6 +196,7 @@ add_overlay(Img) /obj/item/tray/dropped(mob/user) + ..() var/noTable = null spawn() //Allows the tray to udpate location, rather than just checking against mob's location diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 0e01e58c39..568c5aebd1 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -59,7 +59,8 @@ 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 42366045ce..e154588efb 100644 --- a/code/modules/artifice/deadringer.dm +++ b/code/modules/artifice/deadringer.dm @@ -23,7 +23,8 @@ 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 ffd2c06bb0..cad2d3fcc1 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 6f37415f8d..32d606b20c 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -69,7 +69,8 @@ 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 c43d695864..33aa3f40d8 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 d323ad3981..2d4ebe32b7 100644 --- a/code/modules/clothing/accessories/accessory_vr.dm +++ b/code/modules/clothing/accessories/accessory_vr.dm @@ -41,7 +41,8 @@ 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 +80,8 @@ setUniqueSpeciesSprite() ..(S, user) -/obj/item/clothing/accessory/collar/dropped() +/obj/item/clothing/accessory/collar/dropped(mob/user) + ..() icon_override = icon_previous_override //ywedit start. forces different sprite sheet on equip @@ -98,7 +100,8 @@ setUniqueSpeciesSprite() ..(S, user) -/obj/item/clothing/accessory/collar/dropped() +/obj/item/clothing/accessory/collar/dropped(mob/user) + ..() icon_override = icon_previous_override //ywedit end diff --git a/code/modules/clothing/accessories/accessory_yw.dm b/code/modules/clothing/accessories/accessory_yw.dm index 25079504e4..19b3f9df1b 100644 --- a/code/modules/clothing/accessories/accessory_yw.dm +++ b/code/modules/clothing/accessories/accessory_yw.dm @@ -7,9 +7,11 @@ item_state = "cloak_blueshield" -/obj/item/clothing/accessory/poncho/roles/cloak/blueshield/dropped() //makes the blueshield suit not kek when used by a teshari +/obj/item/clothing/accessory/poncho/roles/cloak/blueshield/dropped(mob/user) //makes the blueshield suit not kek when used by a teshari + ..() icon_override = 'icons/mob/ties_yw.dmi' -/obj/item/clothing/accessory/poncho/cloak/fluff/dropped() //makes the fluff cloaks not kek when used by a teshari - icon_override = 'icons/vore/custom_clothes_yw.dmi' \ No newline at end of file +/obj/item/clothing/accessory/poncho/cloak/fluff/dropped(mob/user) //makes the fluff cloaks not kek when used by a teshari + ..() + icon_override = 'icons/vore/custom_clothes_yw.dmi' diff --git a/code/modules/clothing/accessories/clothing.dm b/code/modules/clothing/accessories/clothing.dm index 64befa5c1e..444fa91e75 100644 --- a/code/modules/clothing/accessories/clothing.dm +++ b/code/modules/clothing/accessories/clothing.dm @@ -196,7 +196,8 @@ 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 4e3e5c83b9..65eadb25b1 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -61,7 +61,7 @@ if(enables_planes) user.recalculate_vis() -/obj/item/clothing/dropped(var/mob/user) +/obj/item/clothing/dropped(mob/user) ..() if(enables_planes) user.recalculate_vis() @@ -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 0133f67164..a40ac8b7f5 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 6096a54af4..19c1a2c82e 100644 --- a/code/modules/clothing/gloves/gauntlets.dm +++ b/code/modules/clothing/gloves/gauntlets.dm @@ -39,7 +39,8 @@ 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)) diff --git a/code/modules/clothing/head/pilot_helmet.dm b/code/modules/clothing/head/pilot_helmet.dm index b035fb5a4f..90b17a89ab 100644 --- a/code/modules/clothing/head/pilot_helmet.dm +++ b/code/modules/clothing/head/pilot_helmet.dm @@ -178,7 +178,7 @@ user.client.screen |= pilot_hud user.client.images |= raw_images -/obj/item/clothing/head/pilot/dropped(var/mob/user) +/obj/item/clothing/head/pilot/dropped(mob/user) . = ..() if(user.client) user.client.screen -= pilot_hud diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 1d1742bca9..71ed3f64ca 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/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index be5dad9f66..1377fb1ba6 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -244,7 +244,7 @@ c.remove(eye) eye.setLoc(user) -/obj/item/clothing/mask/ai/dropped(var/mob/user) +/obj/item/clothing/mask/ai/dropped(mob/user) ..() if(eye.owner == user) for(var/datum/chunk/c in eye.visibleChunks) diff --git a/code/modules/clothing/masks/monitor.dm b/code/modules/clothing/masks/monitor.dm index 5efb8fb6d5..1e2b681a39 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 e63002f3cc..1bead921c8 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 1df7f1c759..f03cca7949 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -70,7 +70,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) @@ -117,8 +117,8 @@ user.update_mob_action_buttons() //In case they somehow come off while enabled. -/obj/item/clothing/shoes/magboots/vox/dropped(mob/user as mob) - ..() +/obj/item/clothing/shoes/magboots/vox/dropped(mob/user) + ..(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/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 55876e5b40..9786fc3202 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -733,7 +733,7 @@ use_obj.canremove = TRUE holder.drop_from_inventory(use_obj) use_obj.forceMove(get_turf(src)) - use_obj.dropped() + use_obj.dropped(holder) use_obj.canremove = FALSE use_obj.forceMove(src) @@ -790,7 +790,7 @@ for(var/piece in list("helmet","gauntlets","chest","boots")) toggle_piece(piece, H, ONLY_DEPLOY) -/obj/item/rig/dropped(var/mob/user) +/obj/item/rig/dropped(mob/user) . = ..(user) for(var/piece in list("helmet","gauntlets","chest","boots")) toggle_piece(piece, user, ONLY_RETRACT) diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 455d613c53..9adf07a86a 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -102,7 +102,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 f4afb49399..75e5a08a54 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 9efe8ab494..566d9c65e2 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/games/cards.dm b/code/modules/games/cards.dm index 73cb7b9afa..cb12a907fe 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -455,12 +455,13 @@ i++ -/obj/item/hand/dropped(mob/user as mob) +/obj/item/hand/dropped(mob/user) + ..() if(locate(/obj/structure/table, loc)) src.update_icon(user.dir) else update_icon() -/obj/item/hand/pickup(mob/user as mob) +/obj/item/hand/pickup(mob/user) ..() src.update_icon() diff --git a/code/modules/holomap/mapper.dm b/code/modules/holomap/mapper.dm index 7b68049841..ebea8ec6d2 100644 --- a/code/modules/holomap/mapper.dm +++ b/code/modules/holomap/mapper.dm @@ -120,8 +120,9 @@ return ..() -/obj/item/mapping_unit/dropped(mob/dropper) - if(loc != dropper) // Not just a juggle +/obj/item/mapping_unit/dropped(mob/user) + ..() + if(loc != user) // Not just a juggle hide_device() /obj/item/mapping_unit/attack_self(mob/user) diff --git a/code/modules/hydroponics/backtank.dm b/code/modules/hydroponics/backtank.dm index b2962061dc..4d36d5b555 100644 --- a/code/modules/hydroponics/backtank.dm +++ b/code/modules/hydroponics/backtank.dm @@ -115,7 +115,7 @@ else return ..() -/obj/item/watertank/dropped(var/mob/user) +/obj/item/watertank/dropped(mob/user) ..() remove_noz(user) diff --git a/code/modules/mining/kinetic_crusher.dm b/code/modules/mining/kinetic_crusher.dm index 06ab146ec6..cd2191f1e5 100644 --- a/code/modules/mining/kinetic_crusher.dm +++ b/code/modules/mining/kinetic_crusher.dm @@ -340,7 +340,8 @@ /obj/item/offhand/crushergauntlets var/obj/item/kinetic_crusher/machete/gauntlets/linked -/obj/item/offhand/crushergauntlets/dropped(mob/user as mob) +/obj/item/offhand/crushergauntlets/dropped(mob/user) + SHOULD_CALL_PARENT(FALSE) if(linked.wielded) linked.ready_toggle(TRUE) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index f42f4eea9b..edffa66229 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -140,7 +140,7 @@ var/list/slot_equipment_priority = list( \ return 0 W.forceMove(drop_location()) W.reset_plane_and_layer() - W.dropped() + W.dropped(src) return 0 // Removes an item from inventory and places it in the target atom. diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index cf8cce78b2..2992c4442e 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -346,7 +346,8 @@ 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/organs/internal/augment.dm b/code/modules/organs/internal/augment.dm index 60def5eb31..96f663d83c 100644 --- a/code/modules/organs/internal/augment.dm +++ b/code/modules/organs/internal/augment.dm @@ -183,6 +183,6 @@ playsound(src, 'sound/items/change_jaws.ogg', 30, 1) if(equipping.loc != src) - equipping.dropped() + equipping.dropped(src) return 1 diff --git a/code/modules/projectiles/guns/energy/laser_ch.dm b/code/modules/projectiles/guns/energy/laser_ch.dm index 50bfc5639b..8173b633ad 100644 --- a/code/modules/projectiles/guns/energy/laser_ch.dm +++ b/code/modules/projectiles/guns/energy/laser_ch.dm @@ -18,7 +18,7 @@ is_picked_up = TRUE update_transform() -/obj/item/gun/energy/laser/dropped() +/obj/item/gun/energy/laser/dropped(mob/living/user) . = ..() if(!istype(loc,/mob/living)) is_picked_up = FALSE diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun_ch.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun_ch.dm index 9aa1ded8e2..5ce46d85dd 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_railgun_ch.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_railgun_ch.dm @@ -19,7 +19,7 @@ is_picked_up = TRUE update_transform() -/obj/item/gun/magnetic/railgun/dropped() +/obj/item/gun/magnetic/railgun/dropped(mob/living/user) . = ..() is_picked_up = FALSE update_transform() diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 7e8cf6b6ea..fe3eec8338 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -443,7 +443,7 @@ is_picked_up = TRUE update_transform() -/obj/item/gun/projectile/automatic/mini_uzi/dropped() +/obj/item/gun/projectile/automatic/mini_uzi/dropped(mob/living/user) . = ..() is_picked_up = FALSE update_transform() diff --git a/code/modules/projectiles/guns/projectile/zz_ballistics_ch.dm b/code/modules/projectiles/guns/projectile/zz_ballistics_ch.dm index 5579760b87..f6bb984d52 100644 --- a/code/modules/projectiles/guns/projectile/zz_ballistics_ch.dm +++ b/code/modules/projectiles/guns/projectile/zz_ballistics_ch.dm @@ -92,7 +92,7 @@ is_picked_up = TRUE update_transform() -/obj/item/gun/projectile/automatic/serdy/dropped() +/obj/item/gun/projectile/automatic/serdy/dropped(mob/living/user) . = ..() is_picked_up = FALSE update_transform() @@ -1591,7 +1591,7 @@ is_picked_up = TRUE update_transform() -/obj/item/gun/projectile/shotgun/pump/dropped() +/obj/item/gun/projectile/shotgun/pump/dropped(mob/living/user) . = ..() is_picked_up = FALSE update_transform() @@ -1693,7 +1693,7 @@ is_picked_up = TRUE update_transform() -/obj/item/gun/projectile/shotgun/doublebarrel/dropped() +/obj/item/gun/projectile/shotgun/doublebarrel/dropped(mob/living/user) . = ..() is_picked_up = FALSE update_transform() diff --git a/code/modules/vore/fluffstuff/MadokaSpear.dm b/code/modules/vore/fluffstuff/MadokaSpear.dm index eb10663ca0..be0b647bfc 100644 --- a/code/modules/vore/fluffstuff/MadokaSpear.dm +++ b/code/modules/vore/fluffstuff/MadokaSpear.dm @@ -49,6 +49,7 @@ /obj/item/oldtwohanded/dropped(mob/user as mob) //handles unwielding a twohanded weapon when dropped as well as clearing up the offhand + ..() if(user) var/obj/item/oldtwohanded/O = user.get_inactive_hand() if(istype(O)) diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index c05fe9c626..4119993290 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -2281,7 +2281,8 @@ 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_clothes_yw.dm b/code/modules/vore/fluffstuff/custom_clothes_yw.dm index 9a832bf84c..d9d2d5354a 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_yw.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_yw.dm @@ -941,8 +941,9 @@ H.update_inv_wear_suit() hood.forceMove(src) -/obj/item/clothing/suit/storage/toggle/hoodiebuttoned/dropped() +/obj/item/clothing/suit/storage/toggle/hoodiebuttoned/dropped(mob/living/user) RemoveHood() + ..() /obj/item/clothing/suit/storage/toggle/hoodiebuttoned/proc/ToggleHood() if(!suittoggled) diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 64ea616f48..1c182a5914 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -960,7 +960,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 @@ -1074,7 +1074,7 @@ allowed = list(/obj/item/shield/fluff/wolfgirlshield) damtype = HALLOSS -/obj/item/melee/fluffstuff/wolfgirlsword/dropped(var/mob/user) +/obj/item/melee/fluffstuff/wolfgirlsword/dropped(mob/user) ..() if(!istype(loc,/mob)) deactivate(user) diff --git a/code/modules/vore/resizing/holder_vr.dm b/code/modules/vore/resizing/holder_vr.dm index d6fd3a11b2..b8e636d09b 100644 --- a/code/modules/vore/resizing/holder_vr.dm +++ b/code/modules/vore/resizing/holder_vr.dm @@ -1,8 +1,10 @@ /obj/item/holder/dropped(mob/user) + // CHOMPEdit Start ..() spawn(1) if(!throwing && isturf(loc)) qdel(src) + // CHOMPEdit End /obj/item/holder/attack_hand(mob/living/user as mob) //straight up just copypasted from objects/items.dm with a few things changed (doesn't called dropped unless +actually dropped+) if (!user) return