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