VS: Fix various screams and emotes in bellies

This commit is contained in:
Arokha Sieyes
2018-03-18 20:20:26 -04:00
parent 9d1b1b3f93
commit 8b647cce73
6 changed files with 27 additions and 13 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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!")

View File

@@ -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"]

View File

@@ -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
"<span class='danger'>Something feels like it shattered in your [name]!</span>",\
"<span class='danger'>You hear a sickening crack.</span>")
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)

View File

@@ -549,6 +549,19 @@
to_chat(owner,"<span class='warning'>Your prey appears to be unable to make any progress in escaping your [lowertext(name)].</span>")
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))