diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 26cf3fdf655..45f2f2853bc 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -26,7 +26,7 @@ ..() /obj/item/melee/cultblade/pickup(mob/living/user) - ..() + . = ..() if(!iscultist(user)) to_chat(user, "\"I wouldn't advise that.\"") to_chat(user, "An overwhelming sense of nausea overpowers you!") @@ -34,7 +34,7 @@ if(HULK in user.mutations) to_chat(user, "You can't seem to hold the blade properly!") - user.unEquip(src, 1) + return FALSE /obj/item/melee/cultblade/dagger name = "sacrificial dagger" diff --git a/code/game/gamemodes/miniantags/guardian/types/bomb.dm b/code/game/gamemodes/miniantags/guardian/types/bomb.dm index f916f127f5e..2908888839a 100644 --- a/code/game/gamemodes/miniantags/guardian/types/bomb.dm +++ b/code/game/gamemodes/miniantags/guardian/types/bomb.dm @@ -72,6 +72,7 @@ /obj/item/guardian_bomb/pickup(mob/living/user) detonate(user) + return FALSE // Disarm or blow up. No picking up /obj/item/guardian_bomb/examine(mob/user) stored_obj.examine(user) diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index f9224d1746a..3e22f3f84df 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -39,7 +39,7 @@ optional = TRUE /obj/item/soulstone/pickup(mob/living/user) - ..() + . = ..() if(!can_use(user)) to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly.") user.Dizzy(120) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index cd50f079b0c..3d8548ad11c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -255,11 +255,10 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d else if(isliving(loc)) return 0 - - pickup(user) - add_fingerprint(user) - user.put_in_active_hand(src) + if(pickup(user)) // Pickup succeeded + user.put_in_active_hand(src) + return 1 /obj/item/attack_alien(mob/user as mob) @@ -355,6 +354,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d // called just as an item is picked up (loc is not yet changed) /obj/item/proc/pickup(mob/user) SEND_SIGNAL(src, COMSIG_ITEM_PICKUP, user) + return TRUE // called when this item is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. /obj/item/proc/on_exit_storage(obj/item/storage/S as obj) diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 63fa0250173..eeb3355c50c 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -47,4 +47,4 @@ H.reagents.add_reagent(poison_type, poison_dose) poison_total -= poison_dose add_attack_logs(src, user, "Picked up [src], the trapped syndicate documents") - ..() \ No newline at end of file + return ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 76d5dbda890..7da978a35d1 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -235,7 +235,7 @@ nadeassembly.process_movement() /obj/item/grenade/chem_grenade/pickup() - ..() + . = ..() if(nadeassembly) nadeassembly.process_movement() diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 5241c054358..de219626d31 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -800,6 +800,7 @@ return (BRUTELOSS) /obj/item/twohanded/pitchfork/demonic/pickup(mob/user) + . = ..() if(istype(user, /mob/living)) var/mob/living/U = user if(U.mind && !U.mind.devilinfo && (U.mind.soulOwner == U.mind)) //Burn hands unless they are a devil or have sold their soul diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index bc36a0543e8..0d5a866e6c5 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -121,7 +121,7 @@ return /obj/item/assembly_holder/pickup() - ..() + . = ..() process_movement() /obj/item/assembly_holder/Bump() diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index 37a5e52b466..872bdc8e327 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -478,4 +478,5 @@ update_icon() /obj/item/cardhand/pickup(mob/user as mob) + . = ..() update_icon() diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index adbb5f3152c..2b5817788a6 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -199,7 +199,7 @@ qdel(src) /obj/item/grown/novaflower/pickup(mob/living/carbon/human/user) - ..() + . = ..() if(!user.gloves) to_chat(user, "The [name] burns your bare hand!") user.adjustFireLoss(rand(1, 5)) diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index 8bbe4a4e240..8c4ed2b029c 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -50,17 +50,17 @@ /obj/item/grown/nettle/pickup(mob/living/user) ..() if(!ishuman(user)) - return 0 + return TRUE var/mob/living/carbon/human/H = user if(H.gloves) - return 0 + return TRUE var/organ = ((H.hand ? "l_":"r_") + "arm") var/obj/item/organ/external/affecting = H.get_organ(organ) if(affecting) if(affecting.receive_damage(0, force)) H.UpdateDamageIcon() to_chat(H, "The nettle burns your bare hand!") - return 1 + return TRUE @@ -95,8 +95,9 @@ force = round((5 + seed.potency / 2.5), 1) /obj/item/grown/nettle/death/pickup(mob/living/carbon/user) - if(..()) - if(prob(50)) + if(..() && ishuman(user)) // If the pickup succeeded and is humanoid + var/mob/living/carbon/human/H = user + if(!H.gloves && prob(50)) user.Paralyse(5) to_chat(user, "You are stunned by the Deathnettle when you try picking it up!") diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 55228c51a51..9dcb78f3454 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -157,6 +157,7 @@ old_ue: Set this to a UE string, and this proc will overwrite the dna of organs var/list/all_bits = internal_organs|bodyparts for(var/obj/item/organ/O in all_bits) if(assimilate || O.dna.unique_enzymes == ue_to_compare) + message_admins("organ: [O.name]") O.set_dna(dna) /* diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 36af97b0972..8e176a19131 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -711,7 +711,7 @@ H.reagents.add_reagent(contact_poison, contact_poison_volume) contact_poison = null add_attack_logs(src, user, "Picked up [src], the paper poisoned by [contact_poison_poisoner]") - ..() + . = ..() /obj/item/paper/researchnotes name = "paper - 'Research Notes'" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 5178c8ff173..d5dfb454e09 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -311,7 +311,7 @@ obj/item/gun/proc/newshot() visible_message("[src]'s light fades and turns off.") /obj/item/gun/pickup(mob/user) - ..() + . = ..() if(azoom) azoom.Grant(user) diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index 413621d8257..709b20f070f 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -24,7 +24,7 @@ update_icon() /obj/item/reagent_containers/iv_bag/pickup(mob/user) - ..() + . = ..() update_icon() /obj/item/reagent_containers/iv_bag/dropped(mob/user) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 654dff53b5e..e75d5292be2 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -31,7 +31,7 @@ update_icon() /obj/item/reagent_containers/syringe/pickup(mob/user) - ..() + . = ..() update_icon() /obj/item/reagent_containers/syringe/dropped(mob/user) @@ -197,7 +197,7 @@ update_icon() /obj/item/reagent_containers/ld50_syringe/pickup(mob/user) - ..() + . = ..() update_icon() /obj/item/reagent_containers/ld50_syringe/dropped(mob/user)