diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm index 038471ec365..8b0306c1608 100644 --- a/code/datums/mutable_appearance.dm +++ b/code/datums/mutable_appearance.dm @@ -2,12 +2,12 @@ // Basically use them instead of images for overlays/underlays and when changing an object's appearance if you're doing so with any regularity. // Unless you need the overlay/underlay to have a different direction than the base object. Then you have to use an image due to a bug. -// Mutable appearances are children of images, just so you know. - -/mutable_appearance/New() +// Mutable appearances erase template vars on new, because they accept an appearance to copy as an arg +// If we have nothin to copy, we set the float plane +/mutable_appearance/New(mutable_appearance/to_copy) ..() - plane = FLOAT_PLANE // No clue why this is 0 by default yet images are on FLOAT_PLANE - // And yes this does have to be in the constructor, BYOND ignores it if you set it as a normal var + if(!to_copy) + plane = FLOAT_PLANE // Helper similar to image() /proc/mutable_appearance(icon, icon_state = "", layer = FLOAT_LAYER, plane = FLOAT_PLANE, alpha = 255, appearance_flags = NONE, color)