diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 70309880..cf42ffbe 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -91,7 +91,7 @@ //Second link in a breath chain, calls check_breath() /mob/living/carbon/proc/breathe() var/obj/item/organ/lungs = getorganslot(ORGAN_SLOT_LUNGS) - if(reagents.has_reagent(/datum/reagent/toxin/lexorin)) + if(reagents?.has_reagent(/datum/reagent/toxin/lexorin)) return if(istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) return @@ -167,7 +167,7 @@ //CRIT if(!breath || (breath.total_moles() == 0) || !lungs) - if(reagents.has_reagent(/datum/reagent/medicine/epinephrine) && lungs) + if(reagents?.has_reagent(/datum/reagent/medicine/epinephrine) && lungs) return adjustOxyLoss(1) @@ -389,7 +389,7 @@ return // No decay if formaldehyde in corpse or when the corpse is charred - if(reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 15) || HAS_TRAIT(src, TRAIT_HUSK)) + if(reagents?.has_reagent(/datum/reagent/toxin/formaldehyde, 15) || HAS_TRAIT(src, TRAIT_HUSK)) return // Also no decay if corpse chilled or not organic/undead @@ -432,7 +432,7 @@ if(O) O.on_life() else - if(reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 1)) // No organ decay if the body contains formaldehyde. + if(reagents?.has_reagent(/datum/reagent/toxin/formaldehyde, 1)) // No organ decay if the body contains formaldehyde. return for(var/V in internal_organs) var/obj/item/organ/O = V diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c86c3775..16608681 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -494,7 +494,7 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA if (!(client.prefs.chat_toggles & CHAT_OOC) && isdead(new_mob)) client.prefs.chat_toggles ^= CHAT_OOC new_mob.ckey = ckey - new_mob.client.init_verbs() + new_mob.client?.init_verbs() if(send_signal) SEND_SIGNAL(src, COMSIG_MOB_KEY_CHANGE, new_mob, src) return TRUE diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index fdf2ee60..207e58de 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -316,7 +316,7 @@ on_mob.forceMove(scanning) for(var/i in 1 to light_beam_distance) scanning = get_step(scanning, scandir) - if(scanning.opacity || scanning.has_opaque_atom) + if(scanning?.opacity || scanning?.has_opaque_atom) stop = TRUE var/obj/effect/abstract/eye_lighting/L = LAZYACCESS(eye_lighting, i) if(stop) diff --git a/hyperstation/code/modules/traits.dm b/hyperstation/code/modules/traits.dm index 9fc461d0..60d97af4 100644 --- a/hyperstation/code/modules/traits.dm +++ b/hyperstation/code/modules/traits.dm @@ -13,22 +13,22 @@ /datum/quirk/cum_plus/add() var/mob/living/carbon/M = quirk_holder - if(M.getorganslot("testicles")) - var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") - T.fluid_mult = 1.5 //Base is 1 - T.fluid_max_volume = 5 + if(M?.getorganslot("testicles")) + var/obj/item/organ/genital/testicles/T = M?.getorganslot("testicles") + T?.fluid_mult = 1.5 //Base is 1 + T?.fluid_max_volume = 5 /datum/quirk/cum_plus/remove() var/mob/living/carbon/M = quirk_holder if(quirk_holder.getorganslot("testicles")) - var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") - T.fluid_mult = 1 //Base is 1 - T.fluid_max_volume = 3 //Base is 3 + var/obj/item/organ/genital/testicles/T = M?.getorganslot("testicles") + T?.fluid_mult = 1 //Base is 1 + T?.fluid_max_volume = 3 //Base is 3 /datum/quirk/cum_plus/on_process() var/mob/living/carbon/M = quirk_holder //If you get balls later, then this will still proc if(M.getorganslot("testicles")) - var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") - if(T.fluid_max_volume <= 5 || T.fluid_mult <= 0.2) //INVALID EXPRESSION? - T.fluid_mult = 1.5 //Base is 0.133 - T.fluid_max_volume = 5 \ No newline at end of file + var/obj/item/organ/genital/testicles/T = M?.getorganslot("testicles") + if(T?.fluid_max_volume <= 5 || T?.fluid_mult <= 0.2) //INVALID EXPRESSION? + T?.fluid_mult = 1.5 //Base is 0.133 + T?.fluid_max_volume = 5 diff --git a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm b/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm index 5a8c4001..f2228b4d 100644 --- a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm +++ b/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm @@ -157,8 +157,9 @@ return ..() /obj/belly/proc/Remove(mob/living/owner) - owner.vore_organs -= src - owner = null + if(owner) + owner.vore_organs -= src + owner = null // Called whenever an atom enters this belly /obj/belly/Entered(var/atom/movable/thing,var/atom/OldLoc)