[MIRROR] Skeletons can treat their bone wounds again, improves door crush dislocation fix (#626)

* Skeletons can treat their bone wounds again, improves door crush dislocation fix (#53307)

* Skeletons can treat their bone wounds again, improves door crush dislocation fix

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
This commit is contained in:
SkyratBot
2020-09-04 00:10:55 +01:00
committed by GitHub
co-authored by Ryll Ryll
parent eacc4c6121
commit 549fa16cbc
5 changed files with 30 additions and 18 deletions
+6 -6
View File
@@ -250,8 +250,12 @@
to_chat(user, "<span class='warning'>You're already interacting with [victim]!</span>")
return TRUE
if(!victim.can_inject(user, TRUE))
return TRUE
// next we check if the bodypart in actually accessible (not under thick clothing). We skip the species trait check since skellies
// & such may need to use bone gel but may be wearing a space suit for..... whatever reason a skeleton would wear a space suit for
if(ishuman(victim))
var/mob/living/carbon/human/victim_human = victim
if(!victim_human.can_inject(user, TRUE, ignore_species = TRUE))
return TRUE
// lastly, treat them
treat(I, user)
@@ -295,10 +299,6 @@
/datum/wound/proc/on_stasis()
return
/// Called when we're crushed in an airlock or firedoor, for one of the improvised joint dislocation fixes
/datum/wound/proc/crush()
return
/// Used when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood
/datum/wound/proc/drag_bleed_amount()
return
+11 -1
View File
@@ -199,7 +199,17 @@
status_effect_type = /datum/status_effect/wound/blunt/moderate
scar_keyword = "bluntmoderate"
/datum/wound/blunt/moderate/crush()
/datum/wound/blunt/moderate/Destroy()
if(victim)
UnregisterSignal(victim, COMSIG_LIVING_DOORCRUSHED)
return ..()
/datum/wound/blunt/moderate/wound_injury(datum/wound/old_wound)
. = ..()
RegisterSignal(victim, COMSIG_LIVING_DOORCRUSHED, .proc/door_crush)
/// Getting smushed in an airlock/firelock is a last-ditch attempt to try relocating your limb
/datum/wound/blunt/moderate/proc/door_crush()
if(prob(33))
victim.visible_message("<span class='danger'>[victim]'s dislocated [limb.name] pops back into place!</span>", "<span class='userdanger'>Your dislocated [limb.name] pops back into place! Ow!</span>")
remove_wound()