Allows clings to regenerate without a brain. (#19856)

* Move brain organ code where it belongs

* Rename too

* WIP, but hey, it kinda works now.

* Account for a few missing heads

* Remove vital check, killing the user on death

* Let defibs and scanners better deal with these

* Remove debug brains

* Clean up some more contingencies

* More head checks

* Update code/modules/antagonists/changeling/datum_changeling.dm

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* Fixes up signal business

* some stuff from sean's review

* Add some type safety checks for heads

* oops

* Update code/game/objects/items/weapons/cosmetics.dm

get this in there too

Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>

* Remove decap sword

* Quick suggestions

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* Addresses shedding problems

* Add new defib changes

* this is why we have CI

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
Luc
2023-01-20 19:25:51 -05:00
committed by GitHub
co-authored by Farie82 S34N Ryan
parent b90bb7bcb8
commit b940c1eb21
27 changed files with 208 additions and 133 deletions
@@ -355,6 +355,8 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
if(!istype(head_organ))
return ..()
head_organ.facial_colour = rand_hex_color()
head_organ.sec_facial_colour = rand_hex_color()
head_organ.hair_colour = rand_hex_color()
@@ -376,6 +378,8 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
if(!istype(head_organ))
return ..()
head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species.name)
head_organ.f_style = random_facial_hair_style(H.gender, head_organ.dna.species.name)
H.update_hair()
@@ -395,6 +399,8 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
if(!istype(head_organ))
return ..()
var/datum/sprite_accessory/tmp_hair_style = GLOB.hair_styles_full_list["Very Long Hair"]
var/datum/sprite_accessory/tmp_facial_hair_style = GLOB.facial_hair_styles_list["Very Long Beard"]
@@ -297,7 +297,7 @@
H.take_organ_damage(5, 10)
H.emote("scream")
var/obj/item/organ/external/affecting = H.get_organ("head")
if(affecting)
if(istype(affecting))
affecting.disfigure()
else
H.take_organ_damage(5, 10)
@@ -340,7 +340,7 @@
if(volume > 9)
if(!H.wear_mask && !H.head)
var/obj/item/organ/external/affecting = H.get_organ("head")
if(affecting)
if(istype(affecting))
affecting.disfigure()
H.adjustFireLoss(min(max(8, (volume - 5) * 3), 75))
H.emote("scream")
@@ -380,7 +380,7 @@
return
if(volume >= 50 && prob(75))
var/obj/item/organ/external/affecting = H.get_organ("head")
if(affecting)
if(istype(affecting))
affecting.disfigure()
H.adjustBruteLoss(5)
H.adjustFireLoss(15)