More combat/gun/medical tweaks. (#8615)

This commit is contained in:
Matt Atlas
2020-04-19 14:28:33 +02:00
committed by GitHub
parent 7ef1c10f7a
commit d403ee314d
12 changed files with 132 additions and 90 deletions
@@ -27,7 +27,6 @@
..()
/mob/living/carbon/human/death(gibbed)
if(stat == DEAD)
return
@@ -64,7 +63,6 @@
callHook("death", list(src, gibbed))
if(!gibbed)
handle_organs()
if(species.death_sound)
playsound(loc, species.death_sound, 80, 1, 1)
@@ -75,7 +73,11 @@
if(wearing_rig)
wearing_rig.notify_ai("<span class='danger'>Warning: user death event. Mobility control passed to integrated intelligence system.</span>")
. = ..(gibbed,species.death_message, species.death_message_range)
. = ..(gibbed, species.death_message, species.death_message_range)
if(!gibbed) //We want to handle organs one last time to make sure that hearts don't report a positive pulse after death.
handle_organs()
handle_hud_list()
/mob/living/carbon/human/proc/ChangeToHusk()
@@ -1966,7 +1966,7 @@
if(!nervous_system_failure() && active_breaths)
visible_message("\The [src] jerks and gasps for breath!")
else
visible_message("\The [src] twitches a bit as \his heart restarts!")
visible_message("\The <b>[src]</b> twitches a bit as \his heart restarts!")
shock_stage = min(shock_stage, 100) // 120 is the point at which the heart stops.
if(getOxyLoss() >= 75)
setOxyLoss(75)
@@ -19,7 +19,6 @@
// Takes care of organ related updates, such as broken and missing limbs
/mob/living/carbon/human/proc/handle_organs()
number_wounds = 0
var/force_process = recheck_bad_external_organs()
+10 -3
View File
@@ -40,6 +40,7 @@
var/last_hit_zone = 0
var/force_down //determines if the affecting mob will be pinned to the ground
var/dancing //determines if assailant and affecting keep looking at each other. Basically a wrestling position
var/has_choked = FALSE //Used as a counter for choking people.
layer = SCREEN_LAYER
abstract = 1
@@ -136,9 +137,6 @@
hud.icon_state = "!reinforce"
if(state >= GRAB_AGGRESSIVE)
affecting.drop_l_hand()
affecting.drop_r_hand()
if(iscarbon(affecting))
handle_eye_mouth_covering(affecting, assailant, assailant.zone_sel.selecting)
@@ -149,6 +147,8 @@
affecting.Weaken(4)
if(state >= GRAB_NECK)
affecting.drop_l_hand()
affecting.drop_r_hand()
affecting.Stun(3)
if(isliving(affecting))
var/mob/living/L = affecting
@@ -159,9 +159,16 @@
affecting.Weaken(7) //Should keep you down unless you get help.
if(ishuman(affecting))
var/mob/living/carbon/human/A = affecting
var/obj/item/clothing/C = A.head
if(C && (C.item_flags & THICKMATERIAL))
return
if(!(A.species.flags & NO_BREATHE))
A.losebreath = max(A.losebreath + 3, 5)
A.adjustOxyLoss(3)
if(affecting.stat == CONSCIOUS)
if(do_mob(assailant, affecting, 150))
A.visible_message(SPAN_WARNING("[A] falls unconscious..."), FONT_LARGE(SPAN_DANGER("The world goes dark as you fall unconscious...")))
A.Paralyse(20)
adjust_position()