var OpenLargeOffset<public> : float = 300.0
#>
# Function to get the open offset for an object based on its tags
GetOpenOffset<public>(Object: creative_object_interface, OpenSmallOffset: float, OpenMediumOffset: float, OpenLargeOffset: float): vector3 =
ObjectTags := Object.GetTags()
# Calculate offsets for each axis in local space
var OffsetX : float = CalculateAxisOffset(ObjectTags, "X", OpenSmallOffset, OpenMediumOffset, OpenLargeOffset)
var OffsetY : float = CalculateAxisOffset(ObjectTags, "Y", OpenSmallOffset, OpenMediumOffset, OpenLargeOffset)
var OffsetZ : float = CalculateAxisOffset(ObjectTags, "Z", OpenSmallOffset, OpenMediumOffset, OpenLargeOffset)
# Apply inversion if necessary
set OffsetX = ApplyInversion(ObjectTags, OffsetX, "X")
set OffsetY = ApplyInversion(ObjectTags, OffsetY, "Y")
set OffsetZ = ApplyInversion(ObjectTags, OffsetZ, "Z")
# Return the offset in local space
return vector3{X := OffsetX, Y := OffsetY, Z := OffsetZ}