[MIRROR] Resolves mutant species keeping old organs they shouldn't have [MDB IGNORE] (#19958)

* Resolves mutant species keeping old organs they shouldn't have (#73728)

## About The Pull Request

regenerate organs never removed invalid organs when regenerating
## Why It's Good For The Game

Fixes https://github.com/tgstation/tgstation/issues/73640
adds a unit test to prevent regressions in the future

## Changelog
🆑
fix: Plasmamen don't have hearts, again
/🆑

* Resolves mutant species keeping old organs they shouldn't have

* https://github.com/tgstation/tgstation/pull/68168

* Now everything should pass, yes, even appendixes for synths

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
This commit is contained in:
SkyratBot
2023-03-26 19:28:28 +02:00
committed by GitHub
parent 45a3020827
commit d4c8a4ed9e
17 changed files with 106 additions and 25 deletions
+6 -3
View File
@@ -168,7 +168,7 @@
//Build the mob sprite and use it as our overlay
for(var/external_layer in bodypart_overlay.all_layers)
if(bodypart_overlay.layers & external_layer)
. += bodypart_overlay.get_overlay(external_layer, limb = null)
. += bodypart_overlay.get_overlay(external_layer, ownerlimb)
///The horns of a lizard!
/obj/item/organ/external/horns
@@ -366,8 +366,11 @@
if(draw_layer != bitflag_to_layer(color_swapped_layer))
return ..()
var/list/rgb_list = rgb2num(draw_color)
overlay.color = rgb(color_inverse_base - rgb_list[1], color_inverse_base - rgb_list[2], color_inverse_base - rgb_list[3]) //inversa da color
if(draw_color) // can someone explain to me why draw_color is allowed to EVER BE AN EMPTY STRING
var/list/rgb_list = rgb2num(draw_color)
overlay.color = rgb(color_inverse_base - rgb_list[1], color_inverse_base - rgb_list[2], color_inverse_base - rgb_list[3]) //inversa da color
else
overlay.color = null
/datum/bodypart_overlay/mutant/pod_hair/can_draw_on_bodypart(mob/living/carbon/human/human)
if((human.head?.flags_inv & HIDEHAIR) || (human.wear_mask?.flags_inv & HIDEHAIR))