Spawning Tweaks and Fixes (#15308)

This commit is contained in:
Geeves
2022-12-16 12:11:42 +01:00
committed by GitHub
parent 5993a095d3
commit f88e0e1b37
2 changed files with 37 additions and 11 deletions
+29 -11
View File
@@ -414,7 +414,7 @@
I.icon = 'icons/obj/pda_smart.dmi'
I.desc_extended += "NanoTrasen originally designed this as a portable media player. Unfortunately, Royalty-free and corporate-approved ukulele isn't particularly popular."
I.update_icon()
if (H.pda_choice == OUTFIT_WRISTBOUND)
if(!H.wrists && H.pda_choice == OUTFIT_WRISTBOUND)
H.equip_or_collect(I, slot_wrists)
else
H.equip_or_collect(I, slot_wear_id)
@@ -425,23 +425,41 @@
if(r_pocket)
equip_item(H, r_pocket, slot_r_store)
for(var/path in backpack_contents)
var/number = backpack_contents[path]
for(var/i in 1 to number)
H.equip_or_collect(new path(H), slot_in_backpack)
if(H.back) // you would think, right
for(var/path in backpack_contents)
var/number = backpack_contents[path]
for(var/i in 1 to number)
H.equip_or_collect(new path(H), slot_in_backpack)
else
var/obj/item/storage/storage_item
if(!H.l_hand)
storage_item = new /obj/item/storage/bag/plasticbag(H)
H.equip_to_slot_or_del(storage_item, slot_l_hand)
if(!storage_item && !H.r_hand)
storage_item = new /obj/item/storage/bag/plasticbag(H)
H.equip_to_slot_or_del(storage_item, slot_r_hand)
if(storage_item)
for(var/path in backpack_contents)
var/number = backpack_contents[path]
for(var/i in 1 to number)
storage_item.handle_item_insertion(new path(H.loc), TRUE)
for(var/path in belt_contents)
var/number = belt_contents[path]
for(var/i in 1 to number)
H.equip_or_collect(new path(H), slot_in_belt)
if(id)
var/obj/item/modular_computer/P = H.wear_id
var/obj/item/I = new id(H)
imprint_idcard(H,I)
if(istype(P) && P.card_slot)
addtimer(CALLBACK(src, .proc/register_pda, P, I), 2 SECOND)
var/obj/item/modular_computer/personal_computer
if(istype(H.wear_id, /obj/item/modular_computer))
personal_computer = H.wear_id
else if(istype(H.wrists, /obj/item/modular_computer))
personal_computer = H.wrists
var/obj/item/ID = new id(H)
imprint_idcard(H, ID)
if(personal_computer?.card_slot)
addtimer(CALLBACK(src, .proc/register_pda, personal_computer, ID), 2 SECOND)
else
H.equip_or_collect(I, slot_wear_id)
H.equip_or_collect(ID, slot_wear_id)
post_equip(H, visualsOnly)