Crutch Mechanics (#16011)

* Crutch Mechanics

* Update human_movement.dm
This commit is contained in:
Wowzewow (Wezzy)
2023-03-20 01:29:18 +00:00
committed by GitHub
parent 58f40e5c65
commit 3cd7bf91b6
2 changed files with 58 additions and 0 deletions
@@ -121,6 +121,8 @@
/mob/living/carbon/human/Move()
. = ..()
if(.) //We moved
handle_leg_damage()
var/turf/T = loc
var/footsound
@@ -154,6 +156,21 @@
if (footstep % 2)
playsound(src, is_noisy ? footsound : species.footsound, 40, 1, required_asfx_toggles = ASFX_FOOTSTEPS)
/mob/living/carbon/human/proc/handle_leg_damage()
if(!can_feel_pain())
return
var/crutches = 0
for (var/obj/item/cane/C as anything in get_type_in_hands(/obj/item/cane))
if(istype(C) && (C?.can_support))
crutches++
for(var/organ_name in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT))
var/obj/item/organ/external/E = get_organ(organ_name)
if(E && (ORGAN_IS_DISLOCATED(E)|| E.is_broken()))
if(crutches)
crutches--
else
E.add_pain(10)
/mob/living/carbon/human/mob_has_gravity()
. = ..()
if(!. && mob_negates_gravity())
@@ -0,0 +1,41 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
# admin
# backend
# security
# refactor
#################################
# Your name.
author: Wowzewow (Wezzy)
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "When walking without crutches with a broken leg, it will hurt."