diff --git a/code/datums/spells/summonitem.dm b/code/datums/spells/summonitem.dm index 1030621065b..9ce1d514d2f 100644 --- a/code/datums/spells/summonitem.dm +++ b/code/datums/spells/summonitem.dm @@ -28,6 +28,9 @@ for(var/obj/item in hand_items) if(istype(item, /obj/item/organ/internal/brain)) //Yeah, sadly this doesn't work due to the organ system. break + if(istype(item, /obj/item/disk/nuclear)) //Let's not make nukies suffer with this bullshit. + to_chat(user, "[item] has some built in protections against such summoning magic.") + break if(ABSTRACT in item.flags) continue if(NODROP in item.flags) @@ -120,8 +123,12 @@ return if(visible_item) item_to_retrieve.loc.visible_message("[item_to_retrieve] suddenly disappears!") - - + var/list/heres_disky = item_to_retrieve.search_contents_for(/obj/item/disk/nuclear) + heres_disky += item_to_retrieve.loc.search_contents_for(/obj/item/disk/nuclear) //So if you mark another item in a bag, we don't pull + for(var/obj/item/disk/nuclear/N in heres_disky) + N.forceMove(get_turf(item_to_retrieve)) + N.visible_message("As [item_to_retrieve] vanishes, [N] remains behind!") + break //If you have 2 nads, well, congrats? Keeps message from doubling up if(target.hand) //left active hand if(!target.equip_to_slot_if_possible(item_to_retrieve, SLOT_HUD_LEFT_HAND, FALSE, TRUE)) if(!target.equip_to_slot_if_possible(item_to_retrieve, SLOT_HUD_RIGHT_HAND, FALSE, TRUE))