diff --git a/code/game/objects/items/weapons/implants/implant_storage.dm b/code/game/objects/items/weapons/implants/implant_storage.dm index 454c08f9df1..fba9c1377ef 100644 --- a/code/game/objects/items/weapons/implants/implant_storage.dm +++ b/code/game/objects/items/weapons/implants/implant_storage.dm @@ -49,6 +49,10 @@ return ..() +/obj/item/weapon/implant/storage/proc/get_contents() //Used for swiftly returning a list of the implant's contents i.e. for checking a theft objective's completion. + if(storage && storage.contents) + return storage.contents + /obj/item/weapon/implanter/storage name = "implanter (storage)" diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index c1f3f338893..d76ef650827 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -40,14 +40,14 @@ set category = "Object" if(AM.Adjacent(src)) - src.start_pulling(AM) + start_pulling(AM) return //same as above /mob/living/pointed(atom/A as mob|obj|turf in view()) if(incapacitated()) return 0 - if(src.status_flags & FAKEDEATH) + if(status_flags & FAKEDEATH) return 0 if(!..()) return 0 @@ -70,7 +70,7 @@ to_chat(src, "You have given up life and succumbed to death.") /mob/living/proc/InCritical() - return (src.health < 0 && src.health > -95.0 && stat == UNCONSCIOUS) + return (health < 0 && health > -95.0 && stat == UNCONSCIOUS) /mob/living/ex_act(severity) ..() @@ -106,7 +106,7 @@ if(actual < desired) temperature = desired // if(istype(src, /mob/living/carbon/human)) -// to_chat(world, "[src] ~ [src.bodytemperature] ~ [temperature]") +// to_chat(world, "[src] ~ [bodytemperature] ~ [temperature]") return temperature @@ -220,29 +220,31 @@ else - L += src.contents - for(var/obj/item/weapon/storage/S in src.contents) //Check for storage items + L += contents + for(var/obj/item/weapon/storage/S in contents) //Check for storage items L += get_contents(S) - for(var/obj/item/clothing/suit/storage/S in src.contents)//Check for labcoats and jackets + for(var/obj/item/clothing/suit/storage/S in contents)//Check for labcoats and jackets L += get_contents(S) - for(var/obj/item/clothing/accessory/storage/S in src.contents)//Check for holsters + for(var/obj/item/clothing/accessory/storage/S in contents)//Check for holsters L += get_contents(S) - for(var/obj/item/weapon/gift/G in src.contents) //Check for gift-wrapped items + for(var/obj/item/weapon/implant/storage/I in contents) //Check for storage implants. + L += I.get_contents() + for(var/obj/item/weapon/gift/G in contents) //Check for gift-wrapped items L += G.gift if(istype(G.gift, /obj/item/weapon/storage)) L += get_contents(G.gift) - for(var/obj/item/smallDelivery/D in src.contents) //Check for package wrapped items + for(var/obj/item/smallDelivery/D in contents) //Check for package wrapped items L += D.wrapped if(istype(D.wrapped, /obj/item/weapon/storage)) //this should never happen L += get_contents(D.wrapped) - for(var/obj/item/weapon/folder/F in src.contents) + for(var/obj/item/weapon/folder/F in contents) L += F.contents //Folders can't store any storage items. return L /mob/living/proc/check_contents_for(A) - var/list/L = src.get_contents() + var/list/L = get_contents() for(var/obj/B in L) if(B.type == A) @@ -265,27 +267,27 @@ /mob/living/proc/heal_organ_damage(var/brute, var/burn) adjustBruteLoss(-brute) adjustFireLoss(-burn) - src.updatehealth() + updatehealth() // damage ONE external organ, organ gets randomly selected from damaged ones. /mob/living/proc/take_organ_damage(var/brute, var/burn) if(status_flags & GODMODE) return 0 //godmode adjustBruteLoss(brute) adjustFireLoss(burn) - src.updatehealth() + updatehealth() // heal MANY external organs, in random order /mob/living/proc/heal_overall_damage(var/brute, var/burn) adjustBruteLoss(-brute) adjustFireLoss(-burn) - src.updatehealth() + updatehealth() // damage MANY external organs, in random order /mob/living/proc/take_overall_damage(var/brute, var/burn, var/used_weapon = null) if(status_flags & GODMODE) return 0 //godmode adjustBruteLoss(brute) adjustFireLoss(burn) - src.updatehealth() + updatehealth() /mob/living/proc/has_organic_damage() return (maxHealth - health) @@ -359,7 +361,7 @@ if(buckled) //Unbuckle the mob and clear the alerts. buckled.buckled_mob = null buckled = null - anchored = initial(src.anchored) + anchored = initial(anchored) update_canmove() clear_alert("buckled") post_buckle_mob(src) @@ -647,7 +649,7 @@ // The src mob is trying to place an item on someone // Override if a certain mob should be behave differently when placing items (can't, for example) /mob/living/stripPanelEquip(obj/item/what, mob/who, where, var/silent = 0) - what = src.get_active_hand() + what = get_active_hand() if(what && (what.flags & NODROP)) to_chat(src, "You can't put \the [what.name] on [who], it's stuck to your hand!") return