goonstation icon indicating copy to clipboard operation
goonstation copied to clipboard

Introduces customizationHolder to appearanceHolder in preparation for muterace rework

Open Glamurio opened this issue 8 months ago • 1 comments

[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 to customizations[1].color
  • customization_first_color_original to customizations[1].color_original
  • customization_first to customizations[1].style
  • customization_first_original to customizations[1].style_original
  • customization_first_offset_y to customizations[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.

Glamurio avatar Jun 14 '24 18:06 Glamurio