From e954802b017aa6a5a27e0892813b1a77c1a82612 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sun, 23 Oct 2022 05:02:54 +1000 Subject: [PATCH 1/3] Fixes a pair of runtimes --- code/modules/instruments/songs/play_legacy.dm | 3 +++ code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/modules/instruments/songs/play_legacy.dm b/code/modules/instruments/songs/play_legacy.dm index 9d7ba493d4..bd964765cb 100644 --- a/code/modules/instruments/songs/play_legacy.dm +++ b/code/modules/instruments/songs/play_legacy.dm @@ -86,5 +86,8 @@ var/mob/living/L = M L.apply_status_effect(STATUS_EFFECT_GOOD_MUSIC) */ + if(!M) + hearing_mobs -= M + continue M.playsound_local(source, null, volume * using_instrument.volume_multiplier, S = music_played, preference = /datum/client_preference/instrument_toggle, volume_channel = VOLUME_CHANNEL_INSTRUMENTS) // Could do environment and echo later but not for now diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 6a60ec0448..f5dd0d3aca 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -402,7 +402,7 @@ emp_act return // PERSON BEING HIT: CAN BE DROP PRED, ALLOWS THROW VORE. // PERSON BEING THROWN: DEVOURABLE, ALLOWS THROW VORE, CAN BE DROP PREY. - if((can_be_drop_pred && throw_vore) && (thrown_mob.devourable && thrown_mob.throw_vore && thrown_mob.can_be_drop_prey)) //Prey thrown into pred. + if((can_be_drop_pred && throw_vore && vore_selected) && (thrown_mob.devourable && thrown_mob.throw_vore && thrown_mob.can_be_drop_prey)) //Prey thrown into pred. vore_selected.nom_mob(thrown_mob) //Eat them!!! visible_message("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!") if(thrown_mob.loc != vore_selected) @@ -412,7 +412,7 @@ emp_act // PERSON BEING HIT: CAN BE DROP PREY, ALLOWS THROW VORE, AND IS DEVOURABLE. // PERSON BEING THROWN: CAN BE DROP PRED, ALLOWS THROW VORE. - else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore)) //Pred thrown into prey. + else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore && thrown_mob.vore_selected)) //Pred thrown into prey. visible_message("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!") thrown_mob.vore_selected.nom_mob(src) //Eat them!!! if(src.loc != thrown_mob.vore_selected) From aff26f4f2c7f794c0644c8d3b877d7863b10d927 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sun, 23 Oct 2022 05:04:45 +1000 Subject: [PATCH 2/3] And a third one too. --- code/modules/vore/eating/living_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 83384066eb..8020233ad1 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -776,7 +776,7 @@ if(istype(I, /obj/item/device/paicard)) var/obj/item/device/paicard/palcard = I var/mob/living/silicon/pai/pocketpal = palcard.pai - if(!pocketpal.devourable) + if(pocketpal && (!pocketpal.devourable)) to_chat(src, "\The [pocketpal] doesn't allow you to eat it.") return From a24f2dc18868db05b07014379c5625b5f5af8474 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sun, 23 Oct 2022 10:38:29 +1000 Subject: [PATCH 3/3] Fixes runtime with following mobs not in the world --- code/modules/mob/dead/observer/observer.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 0a774d7295..50a3cc5959 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -455,7 +455,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp to_chat(usr, "You cannot follow a mob standing on holy grounds!") return if(get_z(target) in using_map?.secret_levels) - to_chat(src, SPAN_WARNING("Sorry, that target is in an area that ghosts aren't allowed to go.")) + to_chat(src, "Sorry, that target is in an area that ghosts aren't allowed to go.") return if(target != src) if(following && following == target) @@ -463,7 +463,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp following = target to_chat(src, "Now following [target]") if(ismob(target)) - forceMove(get_turf(target)) + var/target_turf = get_turf(target) + if(!target_turf) + to_chat(usr, "This mob does not seem to exist in the tangible world.") + return + forceMove(target_turf) var/mob/M = target M.following_mobs += src else