--- --- Generated by Luanalysis --- Created by Whimsical. --- DateTime: 2022-01-21 1:39 p.m. --- function onload() self:getRotation(Vector(0, 270, 0)) end local excluded = { ["b7b45b"] = true, ["f182ee"] = true, ["721ba2"] = true } ---@type table> local OFFSETS = { left = { axis = "z", offset = 7.67 }, right = { axis = "z", offset = -7.67 }, up = { axis = "x", offset = 6.54 }, down = { axis = "x", offset = -6.54 } } ---@param player Player ---@param direction string function shift(player, direction) if self:getDescription()=="" then player:broadcast("The description of the displacement tool must contain (only) the GUID for a scripting zone that contains the play field.", Color.RED) return end local zone = getObjectFromGUID(self:getDescription()) local offset = OFFSETS[direction] if not zone then player:broadcast("The description of the displacement tool either contains text that is not a GUID or contains a GUID for a scripting zone that does not exist.", Color.RED) return end local adjustment = Vector(0, 0, 0) adjustment[offset.axis] = offset.offset ---@param object TTSObject for _, object in ipairs(zone:getObjects()) do if not (excluded[object:getGUID():lower()] or object:hasTag("displacement_excluded")) then object:translate(adjustment) end end end