mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 16:47:13 +01:00
[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:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user