From 8b647cce73606d6de4cb70aefeb88dbccf9aee23 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Sun, 18 Mar 2018 20:20:26 -0400 Subject: [PATCH] VS: Fix various screams and emotes in bellies --- code/game/atoms.dm | 10 ++-------- .../modules/mob/living/carbon/human/human_damage.dm | 2 +- .../modules/mob/living/carbon/human/human_organs.dm | 2 +- code/modules/mob/mob.dm | 9 ++++++++- code/modules/organs/organ_external.dm | 4 ++-- code/modules/vore/eating/belly_obj_vr.dm | 13 +++++++++++++ 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 6bf9855a87..9741abe957 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -442,14 +442,8 @@ //VOREStation Edit var/list/see if(isbelly(loc)) - var/list/belly_mobs = list() - see["mobs"] = belly_mobs - var/list/belly_objs = list() - see["objs"] = belly_objs - for(var/mob/living/L in loc.contents) - belly_mobs |= L - for(var/obj/O in loc.contents) - belly_objs |= O + var/obj/belly/B = loc + see = B.get_mobs_and_objs_in_belly() else see = get_mobs_and_objs_in_view_fast(get_turf(src),world.view,remote_ghosts = FALSE) //VOREStation Edit End diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 58a5b79419..45f174063f 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -447,7 +447,7 @@ This function restores all organs. if((damagetype != BRUTE) && (damagetype != BURN)) if(damagetype == HALLOSS) if((damage > 25 && prob(20)) || (damage > 50 && prob(60))) - if(organ && organ.organ_can_feel_pain()) + if(organ && organ.organ_can_feel_pain() && !isbelly(loc)) //VOREStation Add emote("scream") ..(damage, damagetype, def_zone, blocked, soaked) return 1 diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 90e21023f1..6c1311fa41 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -114,7 +114,7 @@ // standing is poor if(stance_damage >= 4 || (stance_damage >= 2 && prob(5))) - if(!(lying || resting) && !isliving(loc)) + if(!(lying || resting) && !isbelly(loc)) //VOREStation Edit if(limb_pain) emote("scream") custom_emote(1, "collapses!") diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index b6076c7970..d2d95e9588 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -84,7 +84,14 @@ // blind_message (optional) is what blind people will hear e.g. "You hear something!" /mob/visible_message(var/message, var/self_message, var/blind_message) - var/list/see = get_mobs_and_objs_in_view_fast(get_turf(src),world.view,remote_ghosts = FALSE) + //VOREStation Edit + var/list/see + if(isbelly(loc)) + var/obj/belly/B = loc + see = B.get_mobs_and_objs_in_belly() + else + see = get_mobs_and_objs_in_view_fast(get_turf(src),world.view,remote_ghosts = FALSE) + //VOREStation Edit End var/list/seeing_mobs = see["mobs"] var/list/seeing_objs = see["objs"] diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 21b642c525..9378869815 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -270,7 +270,7 @@ if(status & ORGAN_BROKEN && brute) jostle_bone(brute) - if(organ_can_feel_pain() && prob(40)) + if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc)) //VOREStation Edit owner.emote("scream") //getting hit on broken hand hurts if(used_weapon) add_autopsy_data("[used_weapon]", brute + burn) @@ -1031,7 +1031,7 @@ Note that amputating the affected organ does in fact remove the infection from t "Something feels like it shattered in your [name]!",\ "You hear a sickening crack.") jostle_bone() - if(organ_can_feel_pain()) + if(organ_can_feel_pain() && !isbelly(owner.loc)) owner.emote("scream") playsound(src.loc, "fracture", 10, 1, -2) diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 2418fe7091..8affcb171d 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -549,6 +549,19 @@ to_chat(owner,"Your prey appears to be unable to make any progress in escaping your [lowertext(name)].") return +/obj/belly/proc/get_mobs_and_objs_in_belly() + var/list/see = list() + var/list/belly_mobs = list() + see["mobs"] = belly_mobs + var/list/belly_objs = list() + see["objs"] = belly_objs + for(var/mob/living/L in loc.contents) + belly_mobs |= L + for(var/obj/O in loc.contents) + belly_objs |= O + + return see + //Transfers contents from one belly to another /obj/belly/proc/transfer_contents(var/atom/movable/content, var/obj/belly/target, silent = 0) if(!(content in src) || !istype(target))