goonstation
goonstation copied to clipboard
Introduces customizationHolder to appearanceHolder in preparation for muterace rework
[Internal] [QoL] [Secret]
About the PR
Refactors all customizations in /datum/appearanceHolder
to /datum/customizationHolder
.
Appearance Holders now have /datum/customizationHolder/customizations
which initiates with the previous default customizations, but technically allows support for more customizations. Currently the copy functions will presume that all Customization Holders have the same length, this would need to be refactored.
Changes the following var names across all files that used them:
-
customization_first_color
tocustomizations[1].color
-
customization_first_color_original
tocustomizations[1].color_original
-
customization_first
tocustomizations[1].style
-
customization_first_original
tocustomizations[1].style_original
-
customization_first_offset_y
tocustomizations[1].offset_y
Notably changes customizations[1].style_original
to be /datum/customization_style
instead of being a mere string for parity with customizations[1].style
.
Probably has secret code changes?
Any testing would be greatly appreciated, from what I could tell this has parity with existing systems, I've tested barbers and geneticist pods (wasn't able to test cloning due to not figuring out how minds work in debugging).
Muterace Design Doc (for reference): https://hackmd.io/SM4bP26PSLCd3aSZjOeEtA?view
Why's this needed?
@Tarmunora mentioned that this would be a good way to get started with the upcoming muterace rework. Generally this should allow customizations to be able to be swapped in-place.