SCED/content/curated/en/campaign_future_reflections.json
2023-06-26 10:13:37 +02:00

16436 lines
753 KiB
JSON

{
"GUID": "0f0680",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": 0.269900024,
"posY": 1.4922266,
"posZ": 28.77701,
"rotX": 359.920166,
"rotY": 270.000519,
"rotZ": 0.0169453211,
"scaleX": 0.6494761,
"scaleY": 0.09070112,
"scaleZ": 0.6494761
},
"Nickname": "Future Reflections",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj",
"DiffuseURL": "https://i.imgur.com/T97bYDU.pnghttps://i.imgur.com/T97bYDU.png",
"NormalURL": "",
"ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 6,
"CustomShader": {
"SpecularColor": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"SpecularIntensity": 0.0,
"SpecularSharpness": 2.0,
"FresnelStrength": 0.0
},
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor + 4\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={-1.25,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={1.25,0.3,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={1.35,1,6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-1.25,1,6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend",
"LuaScriptState": "{\"ml\":{\"004d53\":{\"lock\":false,\"pos\":{\"x\":-3.5339,\"y\":2.4522,\"z\":-14.974},\"rot\":{\"x\":359.9886,\"y\":270,\"z\":0.0024}},\"0151be\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.627,\"z\":11.4601},\"rot\":{\"x\":0.0156,\"y\":180.9005,\"z\":0.0802}},\"01961e\":{\"lock\":false,\"pos\":{\"x\":-3.9276,\"y\":1.7636,\"z\":5.7572},\"rot\":{\"x\":359.9197,\"y\":270.0193,\"z\":180.0168}},\"0ccc8d\":{\"lock\":false,\"pos\":{\"x\":1.7009,\"y\":1.5583,\"z\":14.2781},\"rot\":{\"x\":359.9551,\"y\":225.0036,\"z\":0.0687}},\"0de2c4\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3599,\"z\":-67.8206},\"rot\":{\"x\":0.0208,\"y\":270.009,\"z\":0.0168}},\"0f46eb\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2332},\"rot\":{\"x\":0.0208,\"y\":269.9961,\"z\":0.0168}},\"15105c\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"16df70\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"17a00f\":{\"lock\":false,\"pos\":{\"x\":-36.7732,\"y\":1.6463,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":270.0001,\"z\":180.0168}},\"1c3aab\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2332},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"1d61c6\":{\"lock\":false,\"pos\":{\"x\":12.2483,\"y\":1.475,\"z\":35.9866},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":0.0169}},\"1da958\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3645,\"z\":-84.8185},\"rot\":{\"x\":0.0168,\"y\":179.9921,\"z\":359.9792}},\"208c4d\":{\"lock\":false,\"pos\":{\"x\":-16.6335,\"y\":1.3638,\"z\":-54.6166},\"rot\":{\"x\":0.0218,\"y\":266.5908,\"z\":0.0155}},\"226716\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3596,\"z\":-69.0603},\"rot\":{\"x\":0.0208,\"y\":269.9998,\"z\":0.0168}},\"231320\":{\"lock\":false,\"pos\":{\"x\":-3.9272,\"y\":1.7973,\"z\":5.7576},\"rot\":{\"x\":359.9197,\"y\":270.0057,\"z\":180.0168}},\"24bf26\":{\"lock\":false,\"pos\":{\"x\":-26.2996,\"y\":1.2665,\"z\":-84.818},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"26c67a\":{\"lock\":false,\"pos\":{\"x\":0.5742,\"y\":1.6277,\"z\":-9.8657},\"rot\":{\"x\":359.9197,\"y\":270.002,\"z\":0.0168}},\"26f88d\":{\"lock\":false,\"pos\":{\"x\":-16.639,\"y\":1.3603,\"z\":-66.8114},\"rot\":{\"x\":0.0208,\"y\":270.0166,\"z\":0.0168}},\"270c8f\":{\"lock\":false,\"pos\":{\"x\":-26.2998,\"y\":1.2734,\"z\":-61.2407},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"28eca9\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6327,\"z\":-15.28},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"298237\":{\"lock\":false,\"pos\":{\"x\":-22.6146,\"y\":1.3701,\"z\":-65.5964},\"rot\":{\"x\":0.0168,\"y\":180.0003,\"z\":359.9792}},\"2b0bee\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"2b7ea2\":{\"lock\":false,\"pos\":{\"x\":-10.4852,\"y\":1.0777,\"z\":73.5727},\"rot\":{\"x\":359.9792,\"y\":89.9769,\"z\":359.9832}},\"2bf3e1\":{\"lock\":false,\"pos\":{\"x\":-2.6887,\"y\":1.6191,\"z\":-5.0485},\"rot\":{\"x\":359.9197,\"y\":270.0182,\"z\":0.0168}},\"2c2feb\":{\"lock\":false,\"pos\":{\"x\":-26.9465,\"y\":1.619,\"z\":0.0429},\"rot\":{\"x\":359.9201,\"y\":270.0127,\"z\":0.0168}},\"2e2f73\":{\"lock\":false,\"pos\":{\"x\":-23.6765,\"y\":1.6281,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":180.0168}},\"307044\":{\"lock\":false,\"pos\":{\"x\":-16.6385,\"y\":1.3553,\"z\":-83.5415},\"rot\":{\"x\":0.0208,\"y\":269.9782,\"z\":0.0168}},\"31fffc\":{\"lock\":false,\"pos\":{\"x\":-23.6766,\"y\":1.6258,\"z\":-7.7},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"34592b\":{\"lock\":false,\"pos\":{\"x\":-3.7823,\"y\":1.4788,\"z\":-27.0319},\"rot\":{\"x\":359.9201,\"y\":270.0278,\"z\":0.0168}},\"3701d9\":{\"lock\":false,\"pos\":{\"x\":-10.4852,\"y\":1.0764,\"z\":68.9727},\"rot\":{\"x\":359.9792,\"y\":89.9804,\"z\":359.9832}},\"3742e4\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.2688,\"z\":-76.9454},\"rot\":{\"x\":359.9792,\"y\":89.9993,\"z\":359.9832}},\"376a06\":{\"lock\":false,\"pos\":{\"x\":1.696,\"y\":1.56,\"z\":14.24},\"rot\":{\"x\":0,\"y\":45,\"z\":0}},\"389792\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3668,\"z\":-76.946},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":359.9792}},\"3c5886\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6417,\"z\":15.19},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":0.0168}},\"3c7b42\":{\"lock\":false,\"pos\":{\"x\":-23.6767,\"y\":1.6133,\"z\":-3.8301},\"rot\":{\"x\":359.9832,\"y\":0.0051,\"z\":359.9201}},\"3ddfeb\":{\"lock\":false,\"pos\":{\"x\":-16.6394,\"y\":1.3546,\"z\":-86.0186},\"rot\":{\"x\":0.0208,\"y\":269.9996,\"z\":0.0168}},\"3f60eb\":{\"lock\":false,\"pos\":{\"x\":-19.2948,\"y\":1.3714,\"z\":-65.5815},\"rot\":{\"x\":0.0208,\"y\":269.9986,\"z\":0.0168}},\"41bfc7\":{\"lock\":false,\"pos\":{\"x\":-16.6532,\"y\":1.3615,\"z\":-62.4536},\"rot\":{\"x\":0.0211,\"y\":269.0246,\"z\":0.0164}},\"43239b\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6394,\"z\":7.57},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"44d1ab\":{\"lock\":false,\"pos\":{\"x\":-16.6402,\"y\":1.355,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0322,\"z\":0.0168}},\"4ad11b\":{\"lock\":false,\"pos\":{\"x\":-16.6373,\"y\":1.3569,\"z\":-78.1785},\"rot\":{\"x\":0.0209,\"y\":269.8461,\"z\":0.0167}},\"4d3ac8\":{\"lock\":false,\"pos\":{\"x\":-26.3,\"y\":1.2757,\"z\":-53.4369},\"rot\":{\"x\":359.9792,\"y\":90.0003,\"z\":359.9832}},\"4e809f\":{\"lock\":false,\"pos\":{\"x\":-22.617,\"y\":1.3133,\"z\":-61.2414},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"52127f\":{\"lock\":false,\"pos\":{\"x\":-2.7248,\"y\":1.599,\"z\":0.3733},\"rot\":{\"x\":359.9197,\"y\":269.9999,\"z\":0.0168}},\"543164\":{\"lock\":false,\"pos\":{\"x\":-16.6421,\"y\":1.3592,\"z\":-70.2847},\"rot\":{\"x\":0.0209,\"y\":269.8676,\"z\":0.0167}},\"55012a\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6372,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":180.0168}},\"554be6\":{\"lock\":false,\"pos\":{\"x\":-30.2244,\"y\":1.6247,\"z\":3.8599},\"rot\":{\"x\":359.9832,\"y\":0.0071,\"z\":359.92}},\"55e98a\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"565f15\":{\"lock\":false,\"pos\":{\"x\":-22.6158,\"y\":1.3087,\"z\":-76.946},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"5b38c6\":{\"lock\":false,\"pos\":{\"x\":-26.9136,\"y\":1.6179,\"z\":-3.626},\"rot\":{\"x\":359.9201,\"y\":270.0271,\"z\":0.0168}},\"5d16e3\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3619,\"z\":-61.231},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"6330da\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3645,\"z\":-52.152},\"rot\":{\"x\":0.0208,\"y\":270.0314,\"z\":0.0168}},\"646860\":{\"lock\":false,\"pos\":{\"x\":-10.3191,\"y\":1.0818,\"z\":87.1778},\"rot\":{\"x\":359.9792,\"y\":89.9741,\"z\":359.9832}},\"6bd479\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3576,\"z\":-75.7054},\"rot\":{\"x\":0.0208,\"y\":270.0208,\"z\":0.0168}},\"6e30b0\":{\"lock\":false,\"pos\":{\"x\":-10.4363,\"y\":1.0818,\"z\":87.5054},\"rot\":{\"x\":359.9792,\"y\":89.9739,\"z\":359.9832}},\"7234af\":{\"lock\":false,\"pos\":{\"x\":-25.1063,\"y\":1.6197,\"z\":11.1563},\"rot\":{\"x\":0.0683,\"y\":135.1794,\"z\":0.0448}},\"72caa1\":{\"lock\":false,\"pos\":{\"x\":-16.6392,\"y\":1.3606,\"z\":-65.5811},\"rot\":{\"x\":0.0208,\"y\":269.9983,\"z\":0.0168}},\"75298f\":{\"lock\":false,\"pos\":{\"x\":-3.956,\"y\":1.5975,\"z\":-10.4412},\"rot\":{\"x\":359.9197,\"y\":270.025,\"z\":0.0168}},\"779aa6\":{\"lock\":false,\"pos\":{\"x\":-16.6402,\"y\":1.3549,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0096,\"z\":0.0168}},\"7929dd\":{\"lock\":false,\"pos\":{\"x\":-23.6765,\"y\":1.6303,\"z\":7.57},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"7af9ff\":{\"lock\":false,\"pos\":{\"x\":-26.2999,\"y\":1.2688,\"z\":-76.9454},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"7f7566\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3087,\"z\":-76.946},\"rot\":{\"x\":0.0168,\"y\":180.0001,\"z\":359.9792}},\"825d74\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6202,\"z\":-11.51},\"rot\":{\"x\":0.0169,\"y\":179.9742,\"z\":0.0799}},\"848191\":{\"lock\":false,\"pos\":{\"x\":-27.2223,\"y\":1.6194,\"z\":0.1067},\"rot\":{\"x\":0.0799,\"y\":89.9749,\"z\":359.9831}},\"84a141\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3576,\"z\":-75.7054},\"rot\":{\"x\":0.0208,\"y\":270.0334,\"z\":0.0168}},\"8551e1\":{\"lock\":false,\"pos\":{\"x\":-3.956,\"y\":1.5975,\"z\":-10.4412},\"rot\":{\"x\":359.9197,\"y\":270.0032,\"z\":0.0168}},\"855920\":{\"lock\":false,\"pos\":{\"x\":-23.7787,\"y\":1.6157,\"z\":3.6187},\"rot\":{\"x\":0.0166,\"y\":180.1407,\"z\":0.08}},\"875dca\":{\"lock\":false,\"pos\":{\"x\":-16.6336,\"y\":1.3569,\"z\":-78.1716},\"rot\":{\"x\":0.0218,\"y\":266.6161,\"z\":0.0155}},\"888fcc\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3657,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0035,\"z\":0.0168}},\"8b0a9e\":{\"lock\":false,\"pos\":{\"x\":-16.639,\"y\":1.361,\"z\":-64.3414},\"rot\":{\"x\":0.0208,\"y\":269.9907,\"z\":0.0168}},\"8e8dcf\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":359.9792}},\"8f57db\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3133,\"z\":-61.2414},\"rot\":{\"x\":0.0168,\"y\":179.9999,\"z\":359.9792}},\"90cfdb\":{\"lock\":false,\"pos\":{\"x\":-16.6385,\"y\":1.3554,\"z\":-83.5415},\"rot\":{\"x\":0.0208,\"y\":270.0007,\"z\":0.0168}},\"92c727\":{\"lock\":false,\"pos\":{\"x\":-26.3001,\"y\":1.2734,\"z\":-61.241},\"rot\":{\"x\":359.9792,\"y\":89.9999,\"z\":359.9832}},\"92cda8\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0209,\"y\":269.6944,\"z\":0.0167}},\"969654\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3156,\"z\":-53.4338},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"972bf0\":{\"lock\":false,\"pos\":{\"x\":-10.4852,\"y\":1.0804,\"z\":82.7727},\"rot\":{\"x\":359.9792,\"y\":89.9804,\"z\":359.9832}},\"97e7a1\":{\"lock\":false,\"pos\":{\"x\":-2.7248,\"y\":1.6208,\"z\":0.3733},\"rot\":{\"x\":359.9197,\"y\":270.0001,\"z\":0.0168}},\"9cd95a\":{\"lock\":false,\"pos\":{\"x\":-16.6335,\"y\":1.3615,\"z\":-62.4568},\"rot\":{\"x\":0.0218,\"y\":266.5908,\"z\":0.0155}},\"9e80b9\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3638,\"z\":-54.6207},\"rot\":{\"x\":0.0208,\"y\":269.9772,\"z\":0.0168}},\"a01d1c\":{\"lock\":false,\"pos\":{\"x\":-10.4852,\"y\":1.0791,\"z\":78.1727},\"rot\":{\"x\":359.9792,\"y\":89.9802,\"z\":359.9832}},\"a09177\":{\"lock\":false,\"pos\":{\"x\":-2.6886,\"y\":1.6191,\"z\":-5.0469},\"rot\":{\"x\":359.9197,\"y\":269.9995,\"z\":0.0168}},\"a13075\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3064,\"z\":-84.8185},\"rot\":{\"x\":0.0208,\"y\":269.9926,\"z\":0.0168}},\"a6ca48\":{\"lock\":false,\"pos\":{\"x\":-26.2999,\"y\":1.2711,\"z\":-69.0603},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"a7606b\":{\"lock\":false,\"pos\":{\"x\":-16.6466,\"y\":1.3592,\"z\":-70.295},\"rot\":{\"x\":0.0218,\"y\":266.5696,\"z\":0.0155}},\"a95b8c\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3064,\"z\":-84.8185},\"rot\":{\"x\":0.0168,\"y\":179.9999,\"z\":359.9792}},\"aaeac7\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.36,\"z\":-67.8206},\"rot\":{\"x\":0.0208,\"y\":270.0258,\"z\":0.0168}},\"ab52dc\":{\"lock\":false,\"pos\":{\"x\":-26.2996,\"y\":1.2665,\"z\":-84.818},\"rot\":{\"x\":359.9792,\"y\":90.0128,\"z\":359.9832}},\"b675fd\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3596,\"z\":-69.0603},\"rot\":{\"x\":0.0208,\"y\":270.0005,\"z\":0.0168}},\"ba989d\":{\"lock\":false,\"pos\":{\"x\":-23.6765,\"y\":1.6281,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"bb1f89\":{\"lock\":false,\"pos\":{\"x\":-25.0849,\"y\":1.6131,\"z\":-11.4046},\"rot\":{\"x\":359.9554,\"y\":224.9996,\"z\":0.0684}},\"bde4a6\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3641,\"z\":-53.3904},\"rot\":{\"x\":0.0208,\"y\":269.9887,\"z\":0.0168}},\"be9e91\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.2711,\"z\":-69.0606},\"rot\":{\"x\":359.9792,\"y\":89.9998,\"z\":359.9832}},\"c0e7b1\":{\"lock\":false,\"pos\":{\"x\":-16.6414,\"y\":1.3546,\"z\":-86.0129},\"rot\":{\"x\":0.0218,\"y\":266.5644,\"z\":0.0155}},\"c1aa7a\":{\"lock\":false,\"pos\":{\"x\":-26.2995,\"y\":1.2665,\"z\":-84.8178},\"rot\":{\"x\":359.9792,\"y\":90.0001,\"z\":359.9832}},\"c2ef97\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3156,\"z\":-53.4381},\"rot\":{\"x\":0.0168,\"y\":179.9999,\"z\":359.9792}},\"c72f87\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":269.9951,\"z\":0.0168}},\"cbce2b\":{\"lock\":false,\"pos\":{\"x\":0.1527,\"y\":1.6285,\"z\":-9.2222},\"rot\":{\"x\":359.9197,\"y\":270.0159,\"z\":0.0168}},\"ccf9a8\":{\"lock\":false,\"pos\":{\"x\":-27.2589,\"y\":1.6173,\"z\":-7.4508},\"rot\":{\"x\":0.0799,\"y\":90.0004,\"z\":359.9831}},\"ce1703\":{\"lock\":false,\"pos\":{\"x\":-19.2958,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":269.9961,\"z\":0.0168}},\"d17c37\":{\"lock\":false,\"pos\":{\"x\":-26.9457,\"y\":1.6213,\"z\":7.5712},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":0.0169}},\"d3d270\":{\"lock\":false,\"pos\":{\"x\":-16.6396,\"y\":1.3573,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":270.0207,\"z\":0.0168}},\"d4082a\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":269.9962,\"z\":0.0168}},\"d6fdbf\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3619,\"z\":-61.231},\"rot\":{\"x\":0.0208,\"y\":270.024,\"z\":0.0168}},\"d70f9e\":{\"lock\":false,\"pos\":{\"x\":-26.3,\"y\":1.2757,\"z\":-53.4368},\"rot\":{\"x\":359.9792,\"y\":89.9999,\"z\":359.9832}},\"d7ba40\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6225,\"z\":-3.83},\"rot\":{\"x\":359.9832,\"y\":0.0105,\"z\":359.92}},\"d8e1ad\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3569,\"z\":-78.1756},\"rot\":{\"x\":0.0208,\"y\":270.0207,\"z\":0.0168}},\"d9f2c7\":{\"lock\":false,\"pos\":{\"x\":-16.6385,\"y\":1.3554,\"z\":-83.5415},\"rot\":{\"x\":0.0208,\"y\":269.9983,\"z\":0.0168}},\"d9fb86\":{\"lock\":false,\"pos\":{\"x\":-16.6396,\"y\":1.3573,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"dcceb8\":{\"lock\":false,\"pos\":{\"x\":12.2502,\"y\":1.4727,\"z\":27.9861},\"rot\":{\"x\":359.9201,\"y\":270.0878,\"z\":0.0168}},\"de216f\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3622,\"z\":-60.001},\"rot\":{\"x\":0.0208,\"y\":270.0149,\"z\":0.0168}},\"e04b48\":{\"lock\":false,\"pos\":{\"x\":-16.6404,\"y\":1.3576,\"z\":-75.7053},\"rot\":{\"x\":0.0208,\"y\":270.0152,\"z\":0.0168}},\"e1786c\":{\"lock\":false,\"pos\":{\"x\":-16.6394,\"y\":1.3546,\"z\":-86.0186},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"e86318\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6349,\"z\":-7.7},\"rot\":{\"x\":359.9201,\"y\":270.0001,\"z\":180.0168}},\"f0d3cc\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3642,\"z\":-53.3904},\"rot\":{\"x\":0.0208,\"y\":270.0119,\"z\":0.0168}},\"f30100\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6372,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"f48116\":{\"lock\":false,\"pos\":{\"x\":12.2503,\"y\":1.4703,\"z\":19.9865},\"rot\":{\"x\":359.9201,\"y\":270.0402,\"z\":0.0168}},\"f69811\":{\"lock\":false,\"pos\":{\"x\":1.6964,\"y\":1.5583,\"z\":14.2788},\"rot\":{\"x\":359.9551,\"y\":224.998,\"z\":0.0687}},\"f7a65d\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3645,\"z\":-52.152},\"rot\":{\"x\":0.0208,\"y\":270.0303,\"z\":0.0168}},\"f7bef5\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":270.0453,\"z\":0.0168}},\"f94187\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3622,\"z\":-60.001},\"rot\":{\"x\":0.0208,\"y\":270.0422,\"z\":0.0168}},\"fc1612\":{\"lock\":false,\"pos\":{\"x\":-16.6396,\"y\":1.3573,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":270.0098,\"z\":0.0168}},\"fc27ff\":{\"lock\":false,\"pos\":{\"x\":-26.2991,\"y\":1.2721,\"z\":-65.5814},\"rot\":{\"x\":359.9792,\"y\":90.0019,\"z\":359.9832}},\"fc34bd\":{\"lock\":false,\"pos\":{\"x\":-10.4561,\"y\":1.0831,\"z\":91.8885},\"rot\":{\"x\":359.9792,\"y\":89.9725,\"z\":359.9832}},\"fc63ca\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.368,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"ffa2b2\":{\"lock\":false,\"pos\":{\"x\":-16.6402,\"y\":1.355,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":269.9994,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "f48116",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": 12.2503023,
"posY": 1.47031641,
"posZ": 19.9865055,
"rotX": 359.9201,
"rotY": 270.0402,
"rotZ": 0.0168170426,
"scaleX": 2.21,
"scaleY": 0.46,
"scaleZ": 2.42
},
"Nickname": "2: Resistance is Futile",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj",
"DiffuseURL": "https://i.imgur.com/FIIkB8x.png",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 6,
"CustomShader": {
"SpecularColor": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"SpecularIntensity": 0.0,
"SpecularSharpness": 2.0,
"FresnelStrength": 0.0
},
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor + 2\r\n objPos.z = objPos.z * globalScaleFactor * 0.9\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=500, width=500,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={-0.6,0.1,-2.1}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-0.6,0.3,-2.5}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0.6,0.3,-2.1}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0.6,0.3,-2.9}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0.6,0.3,-2.5}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-0.6,0.3,-2.9}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0.6,0.1,2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-0.6,0.1,2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"0151be\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.627,\"z\":11.4601},\"rot\":{\"x\":0.0156,\"y\":180.9005,\"z\":0.0802}},\"231320\":{\"lock\":false,\"pos\":{\"x\":-3.9272,\"y\":1.7973,\"z\":5.7576},\"rot\":{\"x\":359.9197,\"y\":270.0057,\"z\":180.0168}},\"28eca9\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6327,\"z\":-15.28},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"2bf3e1\":{\"lock\":false,\"pos\":{\"x\":-2.6887,\"y\":1.6191,\"z\":-5.0485},\"rot\":{\"x\":359.9197,\"y\":270.0182,\"z\":0.0168}},\"31fffc\":{\"lock\":false,\"pos\":{\"x\":-23.6766,\"y\":1.6258,\"z\":-7.7},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"3c5886\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6417,\"z\":15.19},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":0.0168}},\"3c7b42\":{\"lock\":false,\"pos\":{\"x\":-23.6767,\"y\":1.6133,\"z\":-3.8301},\"rot\":{\"x\":359.9832,\"y\":0.0051,\"z\":359.9201}},\"43239b\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6394,\"z\":7.57},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"554be6\":{\"lock\":false,\"pos\":{\"x\":-30.2244,\"y\":1.6247,\"z\":3.8599},\"rot\":{\"x\":359.9832,\"y\":0.0071,\"z\":359.92}},\"5b38c6\":{\"lock\":false,\"pos\":{\"x\":-26.9136,\"y\":1.6179,\"z\":-3.626},\"rot\":{\"x\":359.9201,\"y\":270.0271,\"z\":0.0168}},\"7234af\":{\"lock\":false,\"pos\":{\"x\":-25.1063,\"y\":1.6197,\"z\":11.1563},\"rot\":{\"x\":0.0683,\"y\":135.1794,\"z\":0.0448}},\"75298f\":{\"lock\":false,\"pos\":{\"x\":-3.956,\"y\":1.5975,\"z\":-10.4412},\"rot\":{\"x\":359.9197,\"y\":270.025,\"z\":0.0168}},\"7929dd\":{\"lock\":false,\"pos\":{\"x\":-23.6765,\"y\":1.6303,\"z\":7.57},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"825d74\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6202,\"z\":-11.51},\"rot\":{\"x\":0.0169,\"y\":179.9742,\"z\":0.0799}},\"848191\":{\"lock\":false,\"pos\":{\"x\":-27.2223,\"y\":1.6194,\"z\":0.1067},\"rot\":{\"x\":0.0799,\"y\":89.9749,\"z\":359.9831}},\"855920\":{\"lock\":false,\"pos\":{\"x\":-23.7787,\"y\":1.6157,\"z\":3.6187},\"rot\":{\"x\":0.0166,\"y\":180.1407,\"z\":0.08}},\"97e7a1\":{\"lock\":false,\"pos\":{\"x\":-2.7248,\"y\":1.6208,\"z\":0.3733},\"rot\":{\"x\":359.9197,\"y\":270.0001,\"z\":0.0168}},\"ba989d\":{\"lock\":false,\"pos\":{\"x\":-23.6765,\"y\":1.6281,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"bb1f89\":{\"lock\":false,\"pos\":{\"x\":-25.0849,\"y\":1.6131,\"z\":-11.4046},\"rot\":{\"x\":359.9554,\"y\":224.9996,\"z\":0.0684}},\"ccf9a8\":{\"lock\":false,\"pos\":{\"x\":-27.2589,\"y\":1.6173,\"z\":-7.4508},\"rot\":{\"x\":0.0799,\"y\":90.0004,\"z\":359.9831}},\"d17c37\":{\"lock\":false,\"pos\":{\"x\":-26.9457,\"y\":1.6213,\"z\":7.5712},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":0.0169}},\"d7ba40\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6225,\"z\":-3.83},\"rot\":{\"x\":359.9832,\"y\":0.0105,\"z\":359.92}},\"e86318\":{\"lock\":false,\"pos\":{\"x\":-30.2243,\"y\":1.6349,\"z\":-7.7},\"rot\":{\"x\":359.9201,\"y\":270.0001,\"z\":180.0168}},\"f30100\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6372,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":270,\"z\":180.0168}},\"f69811\":{\"lock\":false,\"pos\":{\"x\":1.6964,\"y\":1.5583,\"z\":14.2788},\"rot\":{\"x\":359.9551,\"y\":224.998,\"z\":0.0687}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "0151be",
"Name": "Custom_Tile",
"Transform": {
"posX": -30.2243,
"posY": 1.62696886,
"posZ": 11.4601021,
"rotX": 0.0155812474,
"rotY": 180.9005,
"rotZ": 0.08019009,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "231320",
"Name": "Deck",
"Transform": {
"posX": -3.927227,
"posY": 1.79733253,
"posZ": 5.75760651,
"rotX": 359.919739,
"rotY": 270.005737,
"rotZ": 180.016815,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
564900,
564900,
565000,
560800,
565500,
565500,
564400,
564400,
565500,
561300,
564100,
540200,
564100,
564200,
561200,
564600,
564700,
564800,
564500,
564500,
564200,
564300,
561200,
561200,
565100,
565200,
565200,
565200,
565300,
565300,
564900,
564300,
560800,
565400,
565400,
565600,
565600,
560800,
565000
],
"CustomDeck": {
"5649": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072206339/C95B94B2313E0D9A279CAFB8027F574E0CB80B27/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5650": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072228086/7896788A03A104199ED3AAC7E29094F0F355F44C/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5608": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229212543/FFCC1FA605D070D3C0D93C1C8996BBA83194F747/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5655": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072290613/CD5817E1EFE3532848F6EB8A0EFF1704DBB747DE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5644": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229217842/2A757F68DC8ACB98D7625238AC03529EA58D8C86/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5613": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069942489/CB6DAEF1C6A5E848EBFE723FE9A834A2E8A94582/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5641": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216595/84195802FDBE84707421AC798185ECFFB1056958/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5402": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283087742234926/118FC01E906D188F40355C1FDA90442E167F7ADC/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5642": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229215495/47313373B627194D02F4E951DCA91828E58A24E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5612": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069847693/3EAE92B86378CFFBE0B15F7277934416E1FCBEE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5646": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072088689/0A703205956CB1EFB53C8D75EB895EDE371CEF28/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5647": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072099649/51B9B5EC0FE7730F8ACC2D524182359AAC68E47E/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5648": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072121365/D1E298D0E05613BB4A157B797DB5B37BC4D88B0D/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5645": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072072728/E0CB1AE43457CD7C27601992B273DA5405F83393/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5643": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216286/D9810FFB8E628686666F722D853EB5AE1AB1D502/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5651": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072238885/96B7E82AA6CF36AC8E034C1BE03E0DACBCA8DDFA/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5652": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072251065/35D01E3C46DA1F581C9B8AA135CD175CD6155FE3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5653": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072271771/0AE57D350FDF6C86AE84751640A1B54065458B57/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5654": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352067609500/883E2F71E5C41CF431690B3C5031D07912134F8D/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5656": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072305181/61CD2F9733232E493E2C111F99B2E4EFCE8B032F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "6105ad",
"Name": "CardCustom",
"Transform": {
"posX": -3.72739458,
"posY": 1.62297118,
"posZ": 8.886109,
"rotX": 359.917175,
"rotY": 269.986969,
"rotZ": 0.436542779,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mi-Go Swarm",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564900,
"SidewaysCard": false,
"CustomDeck": {
"5649": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072206339/C95B94B2313E0D9A279CAFB8027F574E0CB80B27/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4bc4b3",
"Name": "CardCustom",
"Transform": {
"posX": -3.691763,
"posY": 1.75232518,
"posZ": 9.05882549,
"rotX": 0.0297866687,
"rotY": 269.935577,
"rotZ": 4.88295841,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mi-Go Swarm",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564900,
"SidewaysCard": false,
"CustomDeck": {
"5649": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072206339/C95B94B2313E0D9A279CAFB8027F574E0CB80B27/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "905761",
"Name": "CardCustom",
"Transform": {
"posX": -3.53912377,
"posY": 2.06807,
"posZ": 9.516599,
"rotX": 357.5045,
"rotY": 270.043854,
"rotZ": 354.602417,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Abduction",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565000,
"SidewaysCard": false,
"CustomDeck": {
"5650": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072228086/7896788A03A104199ED3AAC7E29094F0F355F44C/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "43e803",
"Name": "CardCustom",
"Transform": {
"posX": -3.29568458,
"posY": 1.662234,
"posZ": 10.1947584,
"rotX": 359.855652,
"rotY": 268.8159,
"rotZ": 356.989075,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Fear Itself",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560800,
"SidewaysCard": false,
"CustomDeck": {
"5608": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229212543/FFCC1FA605D070D3C0D93C1C8996BBA83194F747/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "167a9d",
"Name": "CardCustom",
"Transform": {
"posX": -3.417237,
"posY": 1.60412657,
"posZ": 14.5590239,
"rotX": 359.9198,
"rotY": 270.053284,
"rotZ": 0.0146810412,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Evils",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565500,
"SidewaysCard": false,
"CustomDeck": {
"5655": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072290613/CD5817E1EFE3532848F6EB8A0EFF1704DBB747DE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "41ebb4",
"Name": "CardCustom",
"Transform": {
"posX": -3.431736,
"posY": 1.71876073,
"posZ": 11.6422405,
"rotX": 359.708282,
"rotY": 269.995056,
"rotZ": 357.369476,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Evils",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565500,
"SidewaysCard": false,
"CustomDeck": {
"5655": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072290613/CD5817E1EFE3532848F6EB8A0EFF1704DBB747DE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "609759",
"Name": "CardCustom",
"Transform": {
"posX": -3.40614271,
"posY": 1.67238176,
"posZ": 13.5506191,
"rotX": 359.894867,
"rotY": 269.485352,
"rotZ": 357.8257,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Struggle)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564400,
"SidewaysCard": false,
"CustomDeck": {
"5644": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229217842/2A757F68DC8ACB98D7625238AC03529EA58D8C86/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e92441",
"Name": "CardCustom",
"Transform": {
"posX": -3.84814978,
"posY": 1.65582037,
"posZ": 10.3710423,
"rotX": 359.9184,
"rotY": 269.93158,
"rotZ": 357.281982,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Struggle)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564400,
"SidewaysCard": false,
"CustomDeck": {
"5644": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229217842/2A757F68DC8ACB98D7625238AC03529EA58D8C86/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3600ca",
"Name": "CardCustom",
"Transform": {
"posX": -3.82329082,
"posY": 1.69590569,
"posZ": 11.1067352,
"rotX": 359.923,
"rotY": 269.983459,
"rotZ": 357.246124,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Evils",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565500,
"SidewaysCard": false,
"CustomDeck": {
"5655": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072290613/CD5817E1EFE3532848F6EB8A0EFF1704DBB747DE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3c22bf",
"Name": "CardCustom",
"Transform": {
"posX": 17.0199585,
"posY": 1.29453766,
"posZ": 90.53848,
"rotX": 0.0208065081,
"rotY": 270.005219,
"rotZ": 0.0167722814,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Memories",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561300,
"SidewaysCard": false,
"CustomDeck": {
"5613": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069942489/CB6DAEF1C6A5E848EBFE723FE9A834A2E8A94582/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "46dd89",
"Name": "CardCustom",
"Transform": {
"posX": 13.5085888,
"posY": 1.29326153,
"posZ": 90.53541,
"rotX": 0.020813467,
"rotY": 269.983856,
"rotZ": 0.0167663563,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Conundrum)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564100,
"SidewaysCard": false,
"CustomDeck": {
"5641": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216595/84195802FDBE84707421AC798185ECFFB1056958/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1e5b78",
"Name": "CardCustom",
"Transform": {
"posX": 17.0366421,
"posY": 1.29381609,
"posZ": 88.0527649,
"rotX": 0.0208083242,
"rotY": 269.999451,
"rotZ": 0.0167702585,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Chained by the Past",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 540200,
"SidewaysCard": false,
"CustomDeck": {
"5402": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283087742234926/118FC01E906D188F40355C1FDA90442E167F7ADC/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "cb663d",
"Name": "CardCustom",
"Transform": {
"posX": 13.4889278,
"posY": 1.29249227,
"posZ": 87.93184,
"rotX": 0.0208127014,
"rotY": 269.9839,
"rotZ": 0.016764069,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Conundrum)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564100,
"SidewaysCard": false,
"CustomDeck": {
"5641": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216595/84195802FDBE84707421AC798185ECFFB1056958/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "297975",
"Name": "CardCustom",
"Transform": {
"posX": 13.5648069,
"posY": 1.29182088,
"posZ": 85.54404,
"rotX": 0.02080259,
"rotY": 270.0197,
"rotZ": 0.01677827,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Fear)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564200,
"SidewaysCard": false,
"CustomDeck": {
"5642": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229215495/47313373B627194D02F4E951DCA91828E58A24E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d909f8",
"Name": "CardCustom",
"Transform": {
"posX": 16.9867172,
"posY": 1.29308748,
"posZ": 85.6254959,
"rotX": 0.0208082441,
"rotY": 270.000977,
"rotZ": 0.0167714227,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Courage Fails",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561200,
"SidewaysCard": false,
"CustomDeck": {
"5612": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069847693/3EAE92B86378CFFBE0B15F7277934416E1FCBEE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4f1dbc",
"Name": "CardCustom",
"Transform": {
"posX": 10.189064,
"posY": 1.28883994,
"posZ": 90.5920258,
"rotX": 0.0208064988,
"rotY": 270.005371,
"rotZ": 0.01677224,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Invasion",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564600,
"SidewaysCard": false,
"CustomDeck": {
"5646": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072088689/0A703205956CB1EFB53C8D75EB895EDE371CEF28/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "72b6e2",
"Name": "CardCustom",
"Transform": {
"posX": 10.2361832,
"posY": 1.2880851,
"posZ": 87.9551,
"rotX": 0.0208079983,
"rotY": 270.0003,
"rotZ": 0.0167704225,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mi-Go Aggressor",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564700,
"SidewaysCard": false,
"CustomDeck": {
"5647": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072099649/51B9B5EC0FE7730F8ACC2D524182359AAC68E47E/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1f9c32",
"Name": "CardCustom",
"Transform": {
"posX": 10.2513247,
"posY": 1.28734779,
"posZ": 85.41715,
"rotX": 0.0208068248,
"rotY": 270.004028,
"rotZ": 0.0167717673,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mi-Go Defender",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564800,
"SidewaysCard": false,
"CustomDeck": {
"5648": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072121365/D1E298D0E05613BB4A157B797DB5B37BC4D88B0D/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9819b5",
"Name": "CardCustom",
"Transform": {
"posX": 10.2486076,
"posY": 1.286598,
"posZ": 82.85902,
"rotX": 0.0208023917,
"rotY": 270.019165,
"rotZ": 0.016777277,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Hunting Mi-Go",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564500,
"SidewaysCard": false,
"CustomDeck": {
"5645": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072072728/E0CB1AE43457CD7C27601992B273DA5405F83393/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "0c079e",
"Name": "CardCustom",
"Transform": {
"posX": 10.2802238,
"posY": 1.28591478,
"posZ": 80.48581,
"rotX": 0.02080227,
"rotY": 270.0191,
"rotZ": 0.0167773142,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Hunting Mi-Go",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564500,
"SidewaysCard": false,
"CustomDeck": {
"5645": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072072728/E0CB1AE43457CD7C27601992B273DA5405F83393/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "846575",
"Name": "CardCustom",
"Transform": {
"posX": 13.4955425,
"posY": 1.29102516,
"posZ": 82.91137,
"rotX": 0.020802334,
"rotY": 270.0197,
"rotZ": 0.0167769566,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Fear)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564200,
"SidewaysCard": false,
"CustomDeck": {
"5642": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229215495/47313373B627194D02F4E951DCA91828E58A24E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "90f09c",
"Name": "CardCustom",
"Transform": {
"posX": 13.49228,
"posY": 1.29034078,
"posZ": 80.57748,
"rotX": 0.0208063256,
"rotY": 270.007019,
"rotZ": 0.0167736039,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Flee)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564300,
"SidewaysCard": false,
"CustomDeck": {
"5643": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216286/D9810FFB8E628686666F722D853EB5AE1AB1D502/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "8ab418",
"Name": "CardCustom",
"Transform": {
"posX": 17.0359077,
"posY": 1.29236376,
"posZ": 83.09193,
"rotX": 0.02080769,
"rotY": 270.000977,
"rotZ": 0.01677091,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Courage Fails",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561200,
"SidewaysCard": false,
"CustomDeck": {
"5612": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069847693/3EAE92B86378CFFBE0B15F7277934416E1FCBEE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1457cc",
"Name": "CardCustom",
"Transform": {
"posX": 17.0371132,
"posY": 1.29163492,
"posZ": 80.60073,
"rotX": 0.0208076742,
"rotY": 270.000977,
"rotZ": 0.01677064,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Courage Fails",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561200,
"SidewaysCard": false,
"CustomDeck": {
"5612": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069847693/3EAE92B86378CFFBE0B15F7277934416E1FCBEE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "af4082",
"Name": "CardCustom",
"Transform": {
"posX": 6.79006433,
"posY": 1.28761756,
"posZ": 90.63321,
"rotX": 0.0208036024,
"rotY": 270.015717,
"rotZ": 0.0167765021,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Alien Machinations",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565100,
"SidewaysCard": false,
"CustomDeck": {
"5651": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072238885/96B7E82AA6CF36AC8E034C1BE03E0DACBCA8DDFA/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e4ec1a",
"Name": "CardCustom",
"Transform": {
"posX": 6.806109,
"posY": 1.28685439,
"posZ": 88.00607,
"rotX": 0.0208037719,
"rotY": 270.014954,
"rotZ": 0.0167758018,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Close Encounter",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565200,
"SidewaysCard": false,
"CustomDeck": {
"5652": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072251065/35D01E3C46DA1F581C9B8AA135CD175CD6155FE3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "79b2a7",
"Name": "CardCustom",
"Transform": {
"posX": 6.829252,
"posY": 1.285397,
"posZ": 82.99851,
"rotX": 0.0208039414,
"rotY": 270.014984,
"rotZ": 0.0167759284,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Close Encounter",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565200,
"SidewaysCard": false,
"CustomDeck": {
"5652": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072251065/35D01E3C46DA1F581C9B8AA135CD175CD6155FE3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a0efe0",
"Name": "CardCustom",
"Transform": {
"posX": 6.813473,
"posY": 1.286107,
"posZ": 85.4437943,
"rotX": 0.0208040252,
"rotY": 270.014923,
"rotZ": 0.016776517,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Close Encounter",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565200,
"SidewaysCard": false,
"CustomDeck": {
"5652": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072251065/35D01E3C46DA1F581C9B8AA135CD175CD6155FE3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "485cd6",
"Name": "CardCustom",
"Transform": {
"posX": 6.819341,
"posY": 1.28465974,
"posZ": 80.49232,
"rotX": 0.0208123513,
"rotY": 269.9847,
"rotZ": 0.01676496,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Unearthly Experimentation",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565300,
"SidewaysCard": false,
"CustomDeck": {
"5653": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072271771/0AE57D350FDF6C86AE84751640A1B54065458B57/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "fed215",
"Name": "CardCustom",
"Transform": {
"posX": 6.86987162,
"posY": 1.28398514,
"posZ": 78.1250839,
"rotX": 0.0208128411,
"rotY": 269.98468,
"rotZ": 0.0167644769,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Unearthly Experimentation",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565300,
"SidewaysCard": false,
"CustomDeck": {
"5653": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072271771/0AE57D350FDF6C86AE84751640A1B54065458B57/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "383c5e",
"Name": "CardCustom",
"Transform": {
"posX": 10.3380585,
"posY": 1.28525257,
"posZ": 78.15218,
"rotX": 0.0208036955,
"rotY": 270.015564,
"rotZ": 0.0167770386,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mi-Go Swarm",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564900,
"SidewaysCard": false,
"CustomDeck": {
"5649": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072206339/C95B94B2313E0D9A279CAFB8027F574E0CB80B27/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a4a2af",
"Name": "CardCustom",
"Transform": {
"posX": 13.5407667,
"posY": 1.28964376,
"posZ": 78.13633,
"rotX": 0.02080584,
"rotY": 270.007019,
"rotZ": 0.0167724341,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Flee)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564300,
"SidewaysCard": false,
"CustomDeck": {
"5643": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216286/D9810FFB8E628686666F722D853EB5AE1AB1D502/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1d3f88",
"Name": "CardCustom",
"Transform": {
"posX": 16.9228973,
"posY": 1.29086125,
"posZ": 78.09906,
"rotX": 0.0208074916,
"rotY": 270.0022,
"rotZ": 0.0167713016,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Fear Itself",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560800,
"SidewaysCard": false,
"CustomDeck": {
"5608": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229212543/FFCC1FA605D070D3C0D93C1C8996BBA83194F747/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9c354d",
"Name": "CardCustom",
"Transform": {
"posX": 3.4335413,
"posY": 1.2856226,
"posZ": 87.98264,
"rotX": 0.0208104588,
"rotY": 269.993,
"rotZ": 0.0167686827,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Unknowable Motives",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565400,
"SidewaysCard": false,
"CustomDeck": {
"5654": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352067609500/883E2F71E5C41CF431690B3C5031D07912134F8D/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "6994a5",
"Name": "CardCustom",
"Transform": {
"posX": 3.408963,
"posY": 1.28636837,
"posZ": 90.56104,
"rotX": 0.0208105221,
"rotY": 269.992981,
"rotZ": 0.0167688187,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Unknowable Motives",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565400,
"SidewaysCard": false,
"CustomDeck": {
"5654": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352067609500/883E2F71E5C41CF431690B3C5031D07912134F8D/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7b403c",
"Name": "CardCustom",
"Transform": {
"posX": 3.44184232,
"posY": 1.28488624,
"posZ": 85.4565659,
"rotX": 0.0208047219,
"rotY": 270.0119,
"rotZ": 0.0167747252,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Pinned Down",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565600,
"SidewaysCard": false,
"CustomDeck": {
"5656": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072305181/61CD2F9733232E493E2C111F99B2E4EFCE8B032F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3f269f",
"Name": "CardCustom",
"Transform": {
"posX": 3.418608,
"posY": 1.28415906,
"posZ": 83.00111,
"rotX": 0.0208044741,
"rotY": 270.011932,
"rotZ": 0.0167745538,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Pinned Down",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565600,
"SidewaysCard": false,
"CustomDeck": {
"5656": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072305181/61CD2F9733232E493E2C111F99B2E4EFCE8B032F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "ca9673",
"Name": "CardCustom",
"Transform": {
"posX": 16.96289,
"posY": 1.29020953,
"posZ": 75.8231,
"rotX": 0.02080872,
"rotY": 269.997559,
"rotZ": 0.0167696439,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Fear Itself",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560800,
"SidewaysCard": false,
"CustomDeck": {
"5608": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229212543/FFCC1FA605D070D3C0D93C1C8996BBA83194F747/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9dbd4f",
"Name": "CardCustom",
"Transform": {
"posX": 6.88341,
"posY": 1.283279,
"posZ": 75.69508,
"rotX": 0.0208105538,
"rotY": 269.991943,
"rotZ": 0.0167678762,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Abduction",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565000,
"SidewaysCard": false,
"CustomDeck": {
"5650": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072228086/7896788A03A104199ED3AAC7E29094F0F355F44C/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "28eca9",
"Name": "CardCustom",
"Transform": {
"posX": -30.2243,
"posY": 1.63271511,
"posZ": -15.28,
"rotX": 359.9201,
"rotY": 270.0,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Brain Cylinder Containment",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 567200,
"SidewaysCard": false,
"CustomDeck": {
"5672": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288867668/D5B8998D33D560A1BFB1F8EF8CAD4BAEBD89DA64/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288867966/0B41E42FC781A07EDBE648B966CAF727D4C546FB/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "2bf3e1",
"Name": "Deck",
"Transform": {
"posX": -2.68872714,
"posY": 1.6191169,
"posZ": -5.048496,
"rotX": 359.919739,
"rotY": 270.0182,
"rotZ": 0.0168126114,
"scaleX": 0.7133587,
"scaleY": 1.0,
"scaleZ": 0.7133587
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
566000,
565800,
566200
],
"CustomDeck": {
"5660": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072632319/B5A504B459362C0EB57A0DE43E39B5F15EB721F0/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072647240/3B0F24BDA64899BBE32C24574ADD1B713C04A923/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5658": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072631164/0B597F38927097366E6381BEB75B2609A6C2133F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072631426/599CD0647D8ABAA32CBC9A18F1AB4334ED740C84/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5662": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072630291/58127183F30AD107269E76CA06F751CB2BDEAD74/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072809444/9B724B9CBE973A320DBBD3F50AF26AC218870F00/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "2e490a",
"Name": "CardCustom",
"Transform": {
"posX": 10.2716751,
"posY": 1.4767586,
"posZ": -13.669919,
"rotX": 359.9203,
"rotY": 270.018066,
"rotZ": 0.01634182,
"scaleX": 0.7133587,
"scaleY": 1.0,
"scaleZ": 0.7133587
},
"Nickname": "Act 3a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566000,
"SidewaysCard": false,
"CustomDeck": {
"5660": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072632319/B5A504B459362C0EB57A0DE43E39B5F15EB721F0/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072647240/3B0F24BDA64899BBE32C24574ADD1B713C04A923/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "8a5e9b",
"Name": "CardCustom",
"Transform": {
"posX": 10.2269258,
"posY": 1.51891828,
"posZ": -13.4542112,
"rotX": 359.9173,
"rotY": 270.0038,
"rotZ": 0.015206716,
"scaleX": 0.7133587,
"scaleY": 1.0,
"scaleZ": 0.7133587
},
"Nickname": "Act 2a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565800,
"SidewaysCard": false,
"CustomDeck": {
"5658": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072631164/0B597F38927097366E6381BEB75B2609A6C2133F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072631426/599CD0647D8ABAA32CBC9A18F1AB4334ED740C84/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1c5fec",
"Name": "CardCustom",
"Transform": {
"posX": -2.68854523,
"posY": 1.67737138,
"posZ": -5.04852962,
"rotX": 359.935577,
"rotY": 270.0,
"rotZ": 0.0139463991,
"scaleX": 0.7133587,
"scaleY": 1.0,
"scaleZ": 0.7133587
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566200,
"SidewaysCard": false,
"CustomDeck": {
"5662": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072630291/58127183F30AD107269E76CA06F751CB2BDEAD74/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072809444/9B724B9CBE973A320DBBD3F50AF26AC218870F00/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "31fffc",
"Name": "CardCustom",
"Transform": {
"posX": -23.6766,
"posY": 1.62581253,
"posZ": -7.700001,
"rotX": 359.9201,
"rotY": 270.0,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Operation Theater",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 567500,
"SidewaysCard": false,
"CustomDeck": {
"5675": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288870228/531662C7DE418976EA052C1A2D415A319574AE1B/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288870450/8138691C9DBE245E05469EF00D39A7F2818217A2/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3c5886",
"Name": "CardCustom",
"Transform": {
"posX": -30.2243,
"posY": 1.64167,
"posZ": 15.19,
"rotX": 359.9201,
"rotY": 269.999878,
"rotZ": 0.01683978,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Alien Bilge",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 566800,
"SidewaysCard": false,
"CustomDeck": {
"5668": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288859854/1CEF62D64C5A7013D42130F670FE87FFA5C5BA86/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288859678/9DB40E66A12734D0678F94C46E96FFA1DF9C53C3/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3c7b42",
"Name": "Custom_Tile",
"Transform": {
"posX": -23.6767,
"posY": 1.61334538,
"posZ": -3.8301,
"rotX": 359.983154,
"rotY": 0.005071008,
"rotZ": 359.920074,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "43239b",
"Name": "CardCustom",
"Transform": {
"posX": -30.2242,
"posY": 1.6394304,
"posZ": 7.57,
"rotX": 359.9201,
"rotY": 270.0,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Engine Room",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 566900,
"SidewaysCard": false,
"CustomDeck": {
"5669": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288864414/F6D6A22B63935330C0EA5499C4A9F41272E98322/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288864721/87A84A0E59250A87793C5667160B59E75A88F66B/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "554be6",
"Name": "Custom_Tile",
"Transform": {
"posX": -30.2244,
"posY": 1.62473583,
"posZ": 3.85990047,
"rotX": 359.9832,
"rotY": 0.00712431269,
"rotZ": 359.920044,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -26.9136,
"posY": 1.61791873,
"posZ": -3.6260004,
"rotX": 359.9201,
"rotY": 270.0271,
"rotZ": 0.0168073,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"1": {
"GUID": "b529fe",
"Name": "Custom_Tile",
"Transform": {
"posX": -26.82627,
"posY": 1.61769509,
"posZ": -3.97412515,
"rotX": 359.9832,
"rotY": 0.0102521321,
"rotZ": 359.920044,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "7234af",
"Name": "Custom_Tile",
"Transform": {
"posX": -25.1063,
"posY": 1.61974287,
"posZ": 11.1563,
"rotX": 0.06826835,
"rotY": 135.179367,
"rotZ": 0.0448005535,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "75298f",
"Name": "CardCustom",
"Transform": {
"posX": -3.95600057,
"posY": 1.59753942,
"posZ": -10.4412012,
"rotX": 359.919739,
"rotY": 270.025,
"rotZ": 0.016802188,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566700,
"SidewaysCard": false,
"CustomDeck": {
"5667": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352073002754/322C9E60179C0E72567C9B54CFB0C316B48A2439/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352073002985/3FBA050DD2B95178653FAF0893AE5FB9478A58AD/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7929dd",
"Name": "CardCustom",
"Transform": {
"posX": -23.6765,
"posY": 1.6303,
"posZ": 7.570001,
"rotX": 359.9201,
"rotY": 270.0,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Control Room",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 567300,
"SidewaysCard": false,
"CustomDeck": {
"5673": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288868511/69FB7FB4495A76DF69F2EA3DA5D48A214525F007/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288868750/8D23CAB26D296224F4EC1B1D184B0E9E390B47E7/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "825d74",
"Name": "Custom_Tile",
"Transform": {
"posX": -30.2243,
"posY": 1.62021828,
"posZ": -11.5100012,
"rotX": 0.0168751683,
"rotY": 179.974228,
"rotZ": 0.079931505,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "848191",
"Name": "Custom_Tile",
"Transform": {
"posX": -27.2223,
"posY": 1.61944628,
"posZ": 0.1066997,
"rotX": 0.07988695,
"rotY": 89.9749146,
"rotZ": 359.9831,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "855920",
"Name": "Custom_Tile",
"Transform": {
"posX": -23.7787,
"posY": 1.6156764,
"posZ": 3.6187,
"rotX": 0.0166429467,
"rotY": 180.14064,
"rotZ": 0.07998113,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": false,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "97e7a1",
"Name": "Deck",
"Transform": {
"posX": -2.72480559,
"posY": 1.62076068,
"posZ": 0.3733007,
"rotX": 359.919739,
"rotY": 270.000061,
"rotZ": 0.0168374814,
"scaleX": 0.7152412,
"scaleY": 1.0,
"scaleZ": 0.7152412
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
566500,
566400,
566300
],
"CustomDeck": {
"5665": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072966055/03534921BD8203B32FB5CFBA3F28695BADEA3492/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072631426/599CD0647D8ABAA32CBC9A18F1AB4334ED740C84/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5664": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072953727/B8871F2242503C7367124756A6BAF68B41E4BBA3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072954076/124C892D8BA263962546D20C0B3343C280DD695A/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5663": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072952833/F011785EA40DE4A303B6966D2666047D01E25211/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072659068/C17D3202ED7452D58840650C4A1E23A1117A1B10/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "4bcff6",
"Name": "CardCustom",
"Transform": {
"posX": 12.7799587,
"posY": 1.47734308,
"posZ": 0.209014639,
"rotX": 359.920349,
"rotY": 270.000153,
"rotZ": 0.01610919,
"scaleX": 0.7152412,
"scaleY": 1.0,
"scaleZ": 0.7152412
},
"Nickname": "Agenda 3a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566500,
"SidewaysCard": false,
"CustomDeck": {
"5665": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072966055/03534921BD8203B32FB5CFBA3F28695BADEA3492/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072631426/599CD0647D8ABAA32CBC9A18F1AB4334ED740C84/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3ddd8f",
"Name": "CardCustom",
"Transform": {
"posX": 12.8402271,
"posY": 1.51906931,
"posZ": 0.08513583,
"rotX": 359.923431,
"rotY": 269.9945,
"rotZ": 0.0135971131,
"scaleX": 0.7152412,
"scaleY": 1.0,
"scaleZ": 0.7152412
},
"Nickname": "Agenda 2a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566400,
"SidewaysCard": false,
"CustomDeck": {
"5664": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072953727/B8871F2242503C7367124756A6BAF68B41E4BBA3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072954076/124C892D8BA263962546D20C0B3343C280DD695A/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "38bfaf",
"Name": "CardCustom",
"Transform": {
"posX": 13.1444559,
"posY": 1.55269885,
"posZ": -0.505694747,
"rotX": 359.918732,
"rotY": 269.999237,
"rotZ": 0.01720172,
"scaleX": 0.7152412,
"scaleY": 1.0,
"scaleZ": 0.7152412
},
"Nickname": "Agenda 1a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566300,
"SidewaysCard": false,
"CustomDeck": {
"5663": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072952833/F011785EA40DE4A303B6966D2666047D01E25211/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072659068/C17D3202ED7452D58840650C4A1E23A1117A1B10/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "ba989d",
"Name": "CardCustom",
"Transform": {
"posX": -23.6765,
"posY": 1.62806654,
"posZ": -0.029999841,
"rotX": 359.9201,
"rotY": 270.0,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Weapon Development",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 567400,
"SidewaysCard": false,
"CustomDeck": {
"5674": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288869373/6285371F4E678A4ED65A9DCACF59C2792D64E401/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288869727/862F91C14E6E1F507E9F7DB2FBC2C118DC4F7EF0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "bb1f89",
"Name": "Custom_Tile",
"Transform": {
"posX": -25.0849,
"posY": 1.61308265,
"posZ": -11.4046011,
"rotX": 359.9554,
"rotY": 224.999649,
"rotZ": 0.06838212,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "ccf9a8",
"Name": "Custom_Tile",
"Transform": {
"posX": -27.2589,
"posY": 1.61727619,
"posZ": -7.45080137,
"rotX": 0.07989458,
"rotY": 90.0004,
"rotZ": 359.983124,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "d17c37",
"Name": "Custom_Tile",
"Transform": {
"posX": -26.9457,
"posY": 1.62125421,
"posZ": 7.57119942,
"rotX": 359.9201,
"rotY": 269.999969,
"rotZ": 0.0168675613,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": false,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "d7ba40",
"Name": "Custom_Tile",
"Transform": {
"posX": -30.2242,
"posY": 1.62247539,
"posZ": -3.82999945,
"rotX": 359.9832,
"rotY": 0.01050932,
"rotZ": 359.920044,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "e86318",
"Name": "CardCustom",
"Transform": {
"posX": -30.2243,
"posY": 1.63494289,
"posZ": -7.7,
"rotX": 359.9201,
"rotY": 270.0001,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Body Disposal",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 567100,
"SidewaysCard": false,
"CustomDeck": {
"5671": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288866620/9C64096445E2EAFA3B98B5E2258061F51CE04678/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288867037/72F6E5DFBE4895057D09EAD82ED510E0E051943B/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "f30100",
"Name": "CardCustom",
"Transform": {
"posX": -30.2242,
"posY": 1.6371969,
"posZ": -0.0300000217,
"rotX": 359.9201,
"rotY": 270.0,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Genetics Archive",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 567000,
"SidewaysCard": false,
"CustomDeck": {
"5670": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288865617/A5C0D6642342649BC3D4AA5CE5D86B23E0DF1AC6/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726517288865274/61CB790BE277826BC25C0CF021BD0490ED54BBD8/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "f69811",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": 1.69640076,
"posY": 1.55831683,
"posZ": 14.2788019,
"rotX": 359.955139,
"rotY": 224.998,
"rotZ": 0.06867385,
"scaleX": 2.0,
"scaleY": 2.0,
"scaleZ": 2.0
},
"Nickname": "Set Aside",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.02148666,
"g": 0.00100758043,
"b": 0.02148666
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/",
"NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 1,
"TypeIndex": 6,
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"PhysicsMaterial": {
"StaticFriction": 0.6,
"DynamicFriction": 0.6,
"Bounciness": 0.0,
"FrictionCombine": 0,
"BounceCombine": 0
},
"Rigidbody": {
"Mass": 1.375,
"Drag": 5.0,
"AngularDrag": 5.0,
"UseGravity": true
},
"ContainedObjects": [
{
"GUID": "57a456",
"Name": "CardCustom",
"Transform": {
"posX": 1.69643009,
"posY": 3.656826,
"posZ": 14.2788181,
"rotX": 359.9481,
"rotY": 224.669952,
"rotZ": 0.0587195046,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mi-Go Ordinance",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565900,
"SidewaysCard": false,
"CustomDeck": {
"5659": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072446148/D91AE129DAA1661E47AAC798884CA4DD49A28ECA/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e142ca",
"Name": "CardCustom",
"Transform": {
"posX": 1.69642413,
"posY": 3.65669155,
"posZ": 14.27884,
"rotX": 359.954834,
"rotY": 225.013657,
"rotZ": 0.06886798,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mi-Go Engineer",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565700,
"SidewaysCard": false,
"CustomDeck": {
"5657": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072402357/43B9E08DC321ED8BC6223BB6CA4D46D7C1DB65CF/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "eabd7e",
"Name": "CardCustom",
"Transform": {
"posX": 1.6964258,
"posY": 3.65667,
"posZ": 14.2788315,
"rotX": 359.947845,
"rotY": 224.968292,
"rotZ": 0.0585298277,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Organ Grinders",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 565800,
"SidewaysCard": false,
"CustomDeck": {
"5658": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352072418256/5649C8612EBBE6BC81E924434C02B834A56C07F2/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
}
],
"AttachedDecals": [
{
"Transform": {
"posX": -0.0021877822,
"posY": -0.08963572,
"posZ": -0.00288731651,
"rotX": 270.0,
"rotY": 359.869568,
"rotZ": 0.0,
"scaleX": 2.00000215,
"scaleY": 2.00000238,
"scaleZ": 2.00000262
},
"CustomDecal": {
"Name": "dunwich_back",
"ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/",
"Size": 7.4
}
}
]
},
{
"GUID": "1d61c6",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": 12.2483,
"posY": 1.47503066,
"posZ": 35.9866,
"rotX": 359.920135,
"rotY": 269.999878,
"rotZ": 0.0168753173,
"scaleX": 0.5329047,
"scaleY": 0.1488432,
"scaleZ": 0.5329047
},
"Nickname": "Future Reflections Investigators",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj",
"DiffuseURL": "https://i.imgur.com/T97bYDU.pnghttps://i.imgur.com/T97bYDU.png",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 6,
"CustomShader": {
"SpecularColor": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"SpecularIntensity": 0.0,
"SpecularSharpness": 2.0,
"FresnelStrength": 0.0
},
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,3,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor +12\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=800, width=800,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={-1.4,3,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-1.4,3,-8.4}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={1.4,3,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={1.4,3,-8.4}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={1.4,3,-7.2}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-1.4,3,-7.2}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={2.4,3,7}, rotation={0,0,0}, height=850, width=2000,\r\n font_size=700, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-2.4,3,7}, rotation={0,0,0}, height=850, width=2000,\r\n font_size=700, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,3,-6}, rotation={0,0,0}, height=500, width=1200,\r\n font_size=350, color={0,0,0}, font_color={1,1,1}\r\n })\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend",
"LuaScriptState": "{\"ml\":{\"0de2c4\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3599,\"z\":-67.8206},\"rot\":{\"x\":0.0208,\"y\":270.009,\"z\":0.0168}},\"0f46eb\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2332},\"rot\":{\"x\":0.0208,\"y\":269.9961,\"z\":0.0168}},\"15105c\":{\"lock\":false,\"pos\":{\"x\":-19.2959,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"16df70\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"1c3aab\":{\"lock\":false,\"pos\":{\"x\":-19.3001,\"y\":1.3145,\"z\":-61.2332},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"1da958\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3645,\"z\":-84.8185},\"rot\":{\"x\":0.0168,\"y\":179.9921,\"z\":359.9792}},\"208c4d\":{\"lock\":false,\"pos\":{\"x\":-16.6335,\"y\":1.3638,\"z\":-54.6166},\"rot\":{\"x\":0.0218,\"y\":266.5908,\"z\":0.0155}},\"226716\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3596,\"z\":-69.0603},\"rot\":{\"x\":0.0208,\"y\":269.9998,\"z\":0.0168}},\"24bf26\":{\"lock\":false,\"pos\":{\"x\":-26.2996,\"y\":1.2665,\"z\":-84.818},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"26f88d\":{\"lock\":false,\"pos\":{\"x\":-16.639,\"y\":1.3603,\"z\":-66.8114},\"rot\":{\"x\":0.0208,\"y\":270.0166,\"z\":0.0168}},\"270c8f\":{\"lock\":false,\"pos\":{\"x\":-26.2998,\"y\":1.2734,\"z\":-61.2407},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"298237\":{\"lock\":false,\"pos\":{\"x\":-22.6146,\"y\":1.3701,\"z\":-65.5964},\"rot\":{\"x\":0.0168,\"y\":180.0003,\"z\":359.9792}},\"2b0bee\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"307044\":{\"lock\":false,\"pos\":{\"x\":-16.6385,\"y\":1.3553,\"z\":-83.5415},\"rot\":{\"x\":0.0208,\"y\":269.9782,\"z\":0.0168}},\"3742e4\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.2688,\"z\":-76.9454},\"rot\":{\"x\":359.9792,\"y\":89.9993,\"z\":359.9832}},\"376a06\":{\"lock\":false,\"pos\":{\"x\":1.696,\"y\":1.56,\"z\":14.24},\"rot\":{\"x\":0,\"y\":45,\"z\":0}},\"389792\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3668,\"z\":-76.946},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":359.9792}},\"3ddfeb\":{\"lock\":false,\"pos\":{\"x\":-16.6394,\"y\":1.3546,\"z\":-86.0186},\"rot\":{\"x\":0.0208,\"y\":269.9996,\"z\":0.0168}},\"3f60eb\":{\"lock\":false,\"pos\":{\"x\":-19.2948,\"y\":1.3714,\"z\":-65.5815},\"rot\":{\"x\":0.0208,\"y\":269.9986,\"z\":0.0168}},\"41bfc7\":{\"lock\":false,\"pos\":{\"x\":-16.6532,\"y\":1.3615,\"z\":-62.4536},\"rot\":{\"x\":0.0211,\"y\":269.0246,\"z\":0.0164}},\"44d1ab\":{\"lock\":false,\"pos\":{\"x\":-16.6402,\"y\":1.355,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0322,\"z\":0.0168}},\"4ad11b\":{\"lock\":false,\"pos\":{\"x\":-16.6373,\"y\":1.3569,\"z\":-78.1785},\"rot\":{\"x\":0.0209,\"y\":269.8461,\"z\":0.0167}},\"4d3ac8\":{\"lock\":false,\"pos\":{\"x\":-26.3,\"y\":1.2757,\"z\":-53.4369},\"rot\":{\"x\":359.9792,\"y\":90.0003,\"z\":359.9832}},\"4e809f\":{\"lock\":false,\"pos\":{\"x\":-22.617,\"y\":1.3133,\"z\":-61.2414},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"543164\":{\"lock\":false,\"pos\":{\"x\":-16.6421,\"y\":1.3592,\"z\":-70.2847},\"rot\":{\"x\":0.0209,\"y\":269.8676,\"z\":0.0167}},\"55e98a\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"565f15\":{\"lock\":false,\"pos\":{\"x\":-22.6158,\"y\":1.3087,\"z\":-76.946},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"5d16e3\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3619,\"z\":-61.231},\"rot\":{\"x\":0.0208,\"y\":270.0002,\"z\":0.0168}},\"6330da\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3645,\"z\":-52.152},\"rot\":{\"x\":0.0208,\"y\":270.0314,\"z\":0.0168}},\"6bd479\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3576,\"z\":-75.7054},\"rot\":{\"x\":0.0208,\"y\":270.0208,\"z\":0.0168}},\"72caa1\":{\"lock\":false,\"pos\":{\"x\":-16.6392,\"y\":1.3606,\"z\":-65.5811},\"rot\":{\"x\":0.0208,\"y\":269.9983,\"z\":0.0168}},\"779aa6\":{\"lock\":false,\"pos\":{\"x\":-16.6402,\"y\":1.3549,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0096,\"z\":0.0168}},\"7af9ff\":{\"lock\":false,\"pos\":{\"x\":-26.2999,\"y\":1.2688,\"z\":-76.9454},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"7f7566\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.3087,\"z\":-76.946},\"rot\":{\"x\":0.0168,\"y\":180.0001,\"z\":359.9792}},\"84a141\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3576,\"z\":-75.7054},\"rot\":{\"x\":0.0208,\"y\":270.0334,\"z\":0.0168}},\"875dca\":{\"lock\":false,\"pos\":{\"x\":-16.6336,\"y\":1.3569,\"z\":-78.1716},\"rot\":{\"x\":0.0218,\"y\":266.6161,\"z\":0.0155}},\"888fcc\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3657,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":270.0035,\"z\":0.0168}},\"8b0a9e\":{\"lock\":false,\"pos\":{\"x\":-16.639,\"y\":1.361,\"z\":-64.3414},\"rot\":{\"x\":0.0208,\"y\":269.9907,\"z\":0.0168}},\"8e8dcf\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0168,\"y\":180,\"z\":359.9792}},\"8f57db\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3133,\"z\":-61.2414},\"rot\":{\"x\":0.0168,\"y\":179.9999,\"z\":359.9792}},\"90cfdb\":{\"lock\":false,\"pos\":{\"x\":-16.6385,\"y\":1.3554,\"z\":-83.5415},\"rot\":{\"x\":0.0208,\"y\":270.0007,\"z\":0.0168}},\"92c727\":{\"lock\":false,\"pos\":{\"x\":-26.3001,\"y\":1.2734,\"z\":-61.241},\"rot\":{\"x\":359.9792,\"y\":89.9999,\"z\":359.9832}},\"92cda8\":{\"lock\":false,\"pos\":{\"x\":-22.6157,\"y\":1.311,\"z\":-69.0756},\"rot\":{\"x\":0.0209,\"y\":269.6944,\"z\":0.0167}},\"969654\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3156,\"z\":-53.4338},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"9cd95a\":{\"lock\":false,\"pos\":{\"x\":-16.6335,\"y\":1.3615,\"z\":-62.4568},\"rot\":{\"x\":0.0218,\"y\":266.5908,\"z\":0.0155}},\"9e80b9\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3638,\"z\":-54.6207},\"rot\":{\"x\":0.0208,\"y\":269.9772,\"z\":0.0168}},\"a13075\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3064,\"z\":-84.8185},\"rot\":{\"x\":0.0208,\"y\":269.9926,\"z\":0.0168}},\"a6ca48\":{\"lock\":false,\"pos\":{\"x\":-26.2999,\"y\":1.2711,\"z\":-69.0603},\"rot\":{\"x\":359.9792,\"y\":90.0002,\"z\":359.9832}},\"a7606b\":{\"lock\":false,\"pos\":{\"x\":-16.6466,\"y\":1.3592,\"z\":-70.295},\"rot\":{\"x\":0.0218,\"y\":266.5696,\"z\":0.0155}},\"a95b8c\":{\"lock\":false,\"pos\":{\"x\":-22.6169,\"y\":1.3064,\"z\":-84.8185},\"rot\":{\"x\":0.0168,\"y\":179.9999,\"z\":359.9792}},\"aaeac7\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.36,\"z\":-67.8206},\"rot\":{\"x\":0.0208,\"y\":270.0258,\"z\":0.0168}},\"ab52dc\":{\"lock\":false,\"pos\":{\"x\":-26.2996,\"y\":1.2665,\"z\":-84.818},\"rot\":{\"x\":359.9792,\"y\":90.0128,\"z\":359.9832}},\"b675fd\":{\"lock\":false,\"pos\":{\"x\":-16.6403,\"y\":1.3596,\"z\":-69.0603},\"rot\":{\"x\":0.0208,\"y\":270.0005,\"z\":0.0168}},\"bde4a6\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3641,\"z\":-53.3904},\"rot\":{\"x\":0.0208,\"y\":269.9887,\"z\":0.0168}},\"be9e91\":{\"lock\":false,\"pos\":{\"x\":-26.3002,\"y\":1.2711,\"z\":-69.0606},\"rot\":{\"x\":359.9792,\"y\":89.9998,\"z\":359.9832}},\"c0e7b1\":{\"lock\":false,\"pos\":{\"x\":-16.6414,\"y\":1.3546,\"z\":-86.0129},\"rot\":{\"x\":0.0218,\"y\":266.5644,\"z\":0.0155}},\"c1aa7a\":{\"lock\":false,\"pos\":{\"x\":-26.2995,\"y\":1.2665,\"z\":-84.8178},\"rot\":{\"x\":359.9792,\"y\":90.0001,\"z\":359.9832}},\"c2ef97\":{\"lock\":false,\"pos\":{\"x\":-22.6139,\"y\":1.3156,\"z\":-53.4381},\"rot\":{\"x\":0.0168,\"y\":179.9999,\"z\":359.9792}},\"c72f87\":{\"lock\":false,\"pos\":{\"x\":-19.2998,\"y\":1.3076,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":269.9951,\"z\":0.0168}},\"ce1703\":{\"lock\":false,\"pos\":{\"x\":-19.2958,\"y\":1.3122,\"z\":-69.0607},\"rot\":{\"x\":0.0208,\"y\":269.9961,\"z\":0.0168}},\"d3d270\":{\"lock\":false,\"pos\":{\"x\":-16.6396,\"y\":1.3573,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":270.0207,\"z\":0.0168}},\"d4082a\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.3099,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":269.9962,\"z\":0.0168}},\"d6fdbf\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3619,\"z\":-61.231},\"rot\":{\"x\":0.0208,\"y\":270.024,\"z\":0.0168}},\"d70f9e\":{\"lock\":false,\"pos\":{\"x\":-26.3,\"y\":1.2757,\"z\":-53.4368},\"rot\":{\"x\":359.9792,\"y\":89.9999,\"z\":359.9832}},\"d8e1ad\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3569,\"z\":-78.1756},\"rot\":{\"x\":0.0208,\"y\":270.0207,\"z\":0.0168}},\"d9f2c7\":{\"lock\":false,\"pos\":{\"x\":-16.6385,\"y\":1.3554,\"z\":-83.5415},\"rot\":{\"x\":0.0208,\"y\":269.9983,\"z\":0.0168}},\"d9fb86\":{\"lock\":false,\"pos\":{\"x\":-16.6396,\"y\":1.3573,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":270.0086,\"z\":0.0168}},\"de216f\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3622,\"z\":-60.001},\"rot\":{\"x\":0.0208,\"y\":270.0149,\"z\":0.0168}},\"e04b48\":{\"lock\":false,\"pos\":{\"x\":-16.6404,\"y\":1.3576,\"z\":-75.7053},\"rot\":{\"x\":0.0208,\"y\":270.0152,\"z\":0.0168}},\"e1786c\":{\"lock\":false,\"pos\":{\"x\":-16.6394,\"y\":1.3546,\"z\":-86.0186},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"f0d3cc\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3642,\"z\":-53.3904},\"rot\":{\"x\":0.0208,\"y\":270.0119,\"z\":0.0168}},\"f7a65d\":{\"lock\":false,\"pos\":{\"x\":-16.64,\"y\":1.3645,\"z\":-52.152},\"rot\":{\"x\":0.0208,\"y\":270.0303,\"z\":0.0168}},\"f7bef5\":{\"lock\":false,\"pos\":{\"x\":-19.3,\"y\":1.3168,\"z\":-53.4358},\"rot\":{\"x\":0.0208,\"y\":270.0453,\"z\":0.0168}},\"f94187\":{\"lock\":false,\"pos\":{\"x\":-16.6401,\"y\":1.3622,\"z\":-60.001},\"rot\":{\"x\":0.0208,\"y\":270.0422,\"z\":0.0168}},\"fc1612\":{\"lock\":false,\"pos\":{\"x\":-16.6396,\"y\":1.3573,\"z\":-76.9456},\"rot\":{\"x\":0.0208,\"y\":270.0098,\"z\":0.0168}},\"fc27ff\":{\"lock\":false,\"pos\":{\"x\":-26.2991,\"y\":1.2721,\"z\":-65.5814},\"rot\":{\"x\":359.9792,\"y\":90.0019,\"z\":359.9832}},\"fc63ca\":{\"lock\":false,\"pos\":{\"x\":-19.2936,\"y\":1.368,\"z\":-76.9415},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"ffa2b2\":{\"lock\":false,\"pos\":{\"x\":-16.6402,\"y\":1.355,\"z\":-84.8182},\"rot\":{\"x\":0.0208,\"y\":269.9994,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "0de2c4",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6359234,
"posY": 1.3599267,
"posZ": -67.81641,
"rotX": 0.0208143033,
"rotY": 270.009,
"rotZ": 0.0167713147,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "0f46eb",
"Name": "CardCustom",
"Transform": {
"posX": -19.3001,
"posY": 1.31449115,
"posZ": -61.2332,
"rotX": 0.0208099149,
"rotY": 269.9961,
"rotZ": 0.0167696383,
"scaleX": 0.5869074,
"scaleY": 1.0,
"scaleZ": 0.5869074
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566900,
"SidewaysCard": false,
"CustomDeck": {
"5669": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220553411282/BCBDCE54C35BCB8AA6D5FCA0CBF86F0585B1B0B8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1647719220553411502/F557E036B77617512CEF3FA77517EE013F9336DC/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "226716",
"Name": "Custom_Model",
"Transform": {
"posX": -16.636116,
"posY": 1.35956383,
"posZ": -69.05612,
"rotX": 0.0208167769,
"rotY": 269.9998,
"rotZ": 0.0167680271,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "24bf26",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": -26.2995987,
"posY": 1.26647651,
"posZ": -84.81801,
"rotX": 359.979156,
"rotY": 90.000206,
"rotZ": 359.983246,
"scaleX": 2.0,
"scaleY": 2.0,
"scaleZ": 2.0
},
"Nickname": "starter deck & cards",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.02148666,
"g": 0.00100758043,
"b": 0.02148666
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/",
"NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 1,
"TypeIndex": 6,
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"PhysicsMaterial": {
"StaticFriction": 0.6,
"DynamicFriction": 0.6,
"Bounciness": 0.0,
"FrictionCombine": 0,
"BounceCombine": 0
},
"Rigidbody": {
"Mass": 1.375,
"Drag": 5.0,
"AngularDrag": 5.0,
"UseGravity": true
},
"ContainedObjects": [
{
"GUID": "0acaf1",
"Name": "CardCustom",
"Transform": {
"posX": -26.2995968,
"posY": 3.3646338,
"posZ": -84.81801,
"rotX": 0.02011115,
"rotY": 270.0063,
"rotZ": 0.009235944,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 568400,
"SidewaysCard": false,
"CustomDeck": {
"5684": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220553755995/BED79851A07F03BCDB49AC794BF92CE01C17A887/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "c3ff9a",
"Name": "CardCustom",
"Transform": {
"posX": -26.2995987,
"posY": 3.36460471,
"posZ": -84.818,
"rotX": 0.0199080259,
"rotY": 270.811157,
"rotZ": 0.009463855,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 568200,
"SidewaysCard": false,
"CustomDeck": {
"5682": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847174930855984/952D1D3C27B8888E7118861628D8DD750EA26F85/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648847174930856395/57239687B105F20501142E6DB837424FCB62FC8D/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "f9b00a",
"Name": "CardCustom",
"Transform": {
"posX": -26.2995815,
"posY": 3.37213588,
"posZ": -84.81756,
"rotX": 0.0202141386,
"rotY": 270.0011,
"rotZ": 0.237487331,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 568300,
"SidewaysCard": false,
"CustomDeck": {
"5683": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719819411086716/C5C24B8D861729FE9BF0F429F62D213E57A51C4D/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "270c8f",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": -26.299799,
"posY": 1.27337778,
"posZ": -61.2407,
"rotX": 359.979156,
"rotY": 90.000206,
"rotZ": 359.983215,
"scaleX": 2.0,
"scaleY": 2.0,
"scaleZ": 2.0
},
"Nickname": "starter deck & cards",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.02148666,
"g": 0.00100758043,
"b": 0.02148666
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/",
"NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 1,
"TypeIndex": 6,
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"PhysicsMaterial": {
"StaticFriction": 0.6,
"DynamicFriction": 0.6,
"Bounciness": 0.0,
"FrictionCombine": 0,
"BounceCombine": 0
},
"Rigidbody": {
"Mass": 1.375,
"Drag": 5.0,
"AngularDrag": 5.0,
"UseGravity": true
},
"ContainedObjects": [
{
"GUID": "2a23f8",
"Name": "CardCustom",
"Transform": {
"posX": -26.3001461,
"posY": 3.37140775,
"posZ": -61.2409668,
"rotX": 0.0209235419,
"rotY": 270.004181,
"rotZ": 0.0167756584,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567900,
"SidewaysCard": false,
"CustomDeck": {
"5679": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220553377221/C902A6562C82480D2EC549CCD414250D638A8D3D/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e94304",
"Name": "CardCustom",
"Transform": {
"posX": -26.3001461,
"posY": 3.37140965,
"posZ": -61.2409668,
"rotX": 0.02089546,
"rotY": 270.004517,
"rotZ": 0.0168230962,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567800,
"SidewaysCard": false,
"CustomDeck": {
"5678": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220553379484/A9C4938D6B8E8C83E6F07D515033B630F45C5453/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "307044",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6343155,
"posY": 1.35532558,
"posZ": -83.53731,
"rotX": 0.0208225641,
"rotY": 269.9782,
"rotZ": 0.01676006,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3ddfeb",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6352177,
"posY": 1.35460019,
"posZ": -86.01442,
"rotX": 0.0208166055,
"rotY": 269.9996,
"rotZ": 0.0167678241,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "41bfc7",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6490211,
"posY": 1.361493,
"posZ": -62.44934,
"rotX": 0.02109868,
"rotY": 269.0246,
"rotZ": 0.0164115615,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4ad11b",
"Name": "Custom_Model",
"Transform": {
"posX": -16.633112,
"posY": 1.3568958,
"posZ": -78.17432,
"rotX": 0.0208619088,
"rotY": 269.8461,
"rotZ": 0.0167121422,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4e809f",
"Name": "CardCustom",
"Transform": {
"posX": -22.617,
"posY": 1.31328416,
"posZ": -61.2414,
"rotX": 0.0208087526,
"rotY": 270.0,
"rotZ": 0.016771242,
"scaleX": 0.783099234,
"scaleY": 1.0,
"scaleZ": 0.783099234
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567400,
"SidewaysCard": false,
"CustomDeck": {
"5674": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220553334860/595F633D1349FB6E17A3F24A488997FD390BA4EB/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1647718318202216427/0DDA5E0644CBDC7FC08B792C3FB01ED2FD904996/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "543164",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6379089,
"posY": 1.35920477,
"posZ": -70.28052,
"rotX": 0.020854922,
"rotY": 269.8676,
"rotZ": 0.0167198237,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515898740/E92441671B056D4CDF99DF9E6C88BE6598AAB50F/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "565f15",
"Name": "CardCustom",
"Transform": {
"posX": -22.6158,
"posY": 1.30868757,
"posZ": -76.946,
"rotX": 0.02080878,
"rotY": 269.999939,
"rotZ": 0.0167711414,
"scaleX": 0.783099234,
"scaleY": 1.0,
"scaleZ": 0.783099234
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567600,
"SidewaysCard": false,
"CustomDeck": {
"5676": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847174930251421/A571470F5F5F138FFF792D0E7322E188534E4016/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648847174930251717/257AA6D19EDAF4F757C8CF0885277E8CDD0A8930/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "6330da",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6359119,
"posY": 1.36451316,
"posZ": -52.1478233,
"rotX": 0.0208075773,
"rotY": 270.0314,
"rotZ": 0.0167794265,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "779aa6",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6360168,
"posY": 1.35495114,
"posZ": -84.81402,
"rotX": 0.0208134353,
"rotY": 270.0096,
"rotZ": 0.0167716816,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722515960460/F43F63452854B10B416FDF3BF9EF3068E6E68F26/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7af9ff",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": -26.2998981,
"posY": 1.26878119,
"posZ": -76.9454041,
"rotX": 359.979156,
"rotY": 90.000206,
"rotZ": 359.983246,
"scaleX": 2.0,
"scaleY": 2.0,
"scaleZ": 2.0
},
"Nickname": "starter deck & cards",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.02148666,
"g": 0.00100758043,
"b": 0.02148666
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/",
"NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 1,
"TypeIndex": 6,
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"PhysicsMaterial": {
"StaticFriction": 0.6,
"DynamicFriction": 0.6,
"Bounciness": 0.0,
"FrictionCombine": 0,
"BounceCombine": 0
},
"Rigidbody": {
"Mass": 1.375,
"Drag": 5.0,
"AngularDrag": 5.0,
"UseGravity": true
},
"ContainedObjects": [
{
"GUID": "d55686",
"Name": "Deck",
"Transform": {
"posX": -26.30019,
"posY": 3.38870716,
"posZ": -76.9456558,
"rotX": 0.0198711716,
"rotY": 270.445862,
"rotZ": 0.009277333,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
567800,
567800,
567800
],
"CustomDeck": {
"5678": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006699584/46C277AFDCACC9A932B9939BF7A3D3BA59D37C97/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "96dfea",
"Name": "CardCustom",
"Transform": {
"posX": -19.4052,
"posY": 1.30587983,
"posZ": -90.48227,
"rotX": 0.0169381481,
"rotY": 179.999969,
"rotZ": 359.978363,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567800,
"SidewaysCard": false,
"CustomDeck": {
"5678": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006699584/46C277AFDCACC9A932B9939BF7A3D3BA59D37C97/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9e40e6",
"Name": "CardCustom",
"Transform": {
"posX": -19.5272732,
"posY": 1.34607553,
"posZ": -90.1715,
"rotX": 0.009187559,
"rotY": 179.999969,
"rotZ": 359.966156,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567800,
"SidewaysCard": false,
"CustomDeck": {
"5678": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006699584/46C277AFDCACC9A932B9939BF7A3D3BA59D37C97/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9d5dfd",
"Name": "CardCustom",
"Transform": {
"posX": -19.1995335,
"posY": 1.38177609,
"posZ": -90.229126,
"rotX": 0.01605566,
"rotY": 180.000031,
"rotZ": 359.979156,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567800,
"SidewaysCard": false,
"CustomDeck": {
"5678": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006699584/46C277AFDCACC9A932B9939BF7A3D3BA59D37C97/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "1ff74e",
"Name": "CardCustom",
"Transform": {
"posX": -26.3001881,
"posY": 3.366871,
"posZ": -76.94565,
"rotX": 0.0200579464,
"rotY": 270.225647,
"rotZ": 0.009310317,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567900,
"SidewaysCard": false,
"CustomDeck": {
"5679": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719760773993326/E0C1F319D97883E4CF10ACC3203170512C04563E/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "82b4f3",
"Name": "CardCustom",
"Transform": {
"posX": -26.3001862,
"posY": 3.36696482,
"posZ": -76.94565,
"rotX": 0.0201151129,
"rotY": 269.9977,
"rotZ": 0.009248775,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 568000,
"SidewaysCard": false,
"CustomDeck": {
"5680": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847174930596580/B460E32AF4DF54A2315645A8FC226C07AE9559AD/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "92cda8",
"Name": "CardCustom",
"Transform": {
"posX": -22.6157,
"posY": 1.31099141,
"posZ": -69.0756,
"rotX": 0.0208980218,
"rotY": 269.6944,
"rotZ": 0.0166598484,
"scaleX": 0.783099234,
"scaleY": 1.0,
"scaleZ": 0.783099234
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567500,
"SidewaysCard": false,
"CustomDeck": {
"5675": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1718660292953278449/80D95D788F675F4E15358F25C693D073129939B8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1718660292953278659/5C4B06393BEF4CD88156C8CD33C01855EFAD7BA1/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "969654",
"Name": "CardCustom",
"Transform": {
"posX": -22.6139,
"posY": 1.31557059,
"posZ": -53.4338,
"rotX": 0.0208087955,
"rotY": 270.0,
"rotZ": 0.0167711172,
"scaleX": 0.783099234,
"scaleY": 1.0,
"scaleZ": 0.783099234
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567700,
"SidewaysCard": false,
"CustomDeck": {
"5677": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552276871/6BB3F77AB8A111A583403BBA9C72681BE674B289/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552277122/CB016130CABA33BB915A9105CD028BEBA8731869/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9e80b9",
"Name": "Custom_Model",
"Transform": {
"posX": -16.63582,
"posY": 1.36379063,
"posZ": -54.6165161,
"rotX": 0.0208236612,
"rotY": 269.977173,
"rotZ": 0.016759729,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a13075",
"Name": "CardCustom",
"Transform": {
"posX": -22.6169,
"posY": 1.30638278,
"posZ": -84.8185,
"rotX": 0.02081106,
"rotY": 269.9926,
"rotZ": 0.0167685337,
"scaleX": 0.783099234,
"scaleY": 1.0,
"scaleZ": 0.783099234
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567300,
"SidewaysCard": false,
"CustomDeck": {
"5673": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846905197994185/261B68A54931F60A53C8AA6F05F4366EB120940A/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846905197996115/5E3D2B878261E358D5F1884955FB35B5D32FD805/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a6ca48",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": -26.2998981,
"posY": 1.271089,
"posZ": -69.06031,
"rotX": 359.979156,
"rotY": 90.000206,
"rotZ": 359.983215,
"scaleX": 2.0,
"scaleY": 2.0,
"scaleZ": 2.0
},
"Nickname": "starter deck & cards",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.02148666,
"g": 0.00100758043,
"b": 0.02148666
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/",
"NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 1,
"TypeIndex": 6,
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"PhysicsMaterial": {
"StaticFriction": 0.6,
"DynamicFriction": 0.6,
"Bounciness": 0.0,
"FrictionCombine": 0,
"BounceCombine": 0
},
"Rigidbody": {
"Mass": 1.375,
"Drag": 5.0,
"AngularDrag": 5.0,
"UseGravity": true
},
"ContainedObjects": [
{
"GUID": "4dfb2d",
"Name": "Deck",
"Transform": {
"posX": -26.30019,
"posY": 3.39094663,
"posZ": -69.06059,
"rotX": 0.0208201036,
"rotY": 269.979462,
"rotZ": 0.0167157073,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
567900,
567900,
567900
],
"CustomDeck": {
"5679": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552883853/39C9CD61C3C27D963DD812373099693871F5E537/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "7feaab",
"Name": "CardCustom",
"Transform": {
"posX": -18.7456627,
"posY": 1.31800151,
"posZ": -49.5908966,
"rotX": 0.0218038186,
"rotY": 269.85083,
"rotZ": 0.0102152219,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567900,
"SidewaysCard": false,
"CustomDeck": {
"5679": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552883853/39C9CD61C3C27D963DD812373099693871F5E537/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "967be3",
"Name": "CardCustom",
"Transform": {
"posX": -19.2749157,
"posY": 1.3675952,
"posZ": -49.9687462,
"rotX": 0.034829706,
"rotY": 269.850861,
"rotZ": 0.01483151,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567900,
"SidewaysCard": false,
"CustomDeck": {
"5679": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552883853/39C9CD61C3C27D963DD812373099693871F5E537/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "79821b",
"Name": "CardCustom",
"Transform": {
"posX": -19.2749825,
"posY": 1.39470589,
"posZ": -49.96872,
"rotX": 0.04067594,
"rotY": 269.850677,
"rotZ": 0.0118332617,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567900,
"SidewaysCard": false,
"CustomDeck": {
"5679": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552883853/39C9CD61C3C27D963DD812373099693871F5E537/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "b42d20",
"Name": "CardCustom",
"Transform": {
"posX": -26.30019,
"posY": 3.369063,
"posZ": -69.060585,
"rotX": 0.02094193,
"rotY": 269.9861,
"rotZ": 0.01675418,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567800,
"SidewaysCard": false,
"CustomDeck": {
"5678": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552881439/1A17FE36F329BD6021DCBD71BC75D0981ACCA6E0/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "bde4a6",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6358128,
"posY": 1.36415064,
"posZ": -53.3862228,
"rotX": 0.0208196249,
"rotY": 269.9887,
"rotZ": 0.0167639777,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516201848/72B3B9E2B59F25FEC82412AC22245D03655A4558/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "c72f87",
"Name": "CardCustom",
"Transform": {
"posX": -19.2998,
"posY": 1.30758762,
"posZ": -84.8182,
"rotX": 0.0208100341,
"rotY": 269.9951,
"rotZ": 0.016769072,
"scaleX": 0.5869074,
"scaleY": 1.0,
"scaleZ": 0.5869074
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567200,
"SidewaysCard": false,
"CustomDeck": {
"5672": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1538500232634400432/AE1B5BD1CE5268E6C85A0CE0818DCB22ACB9939F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1538500232634400696/7957C910FA019E6FF81ACDC873028392D3D96759/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "ce1703",
"Name": "CardCustom",
"Transform": {
"posX": -19.2958,
"posY": 1.31220138,
"posZ": -69.0607,
"rotX": 0.0208099782,
"rotY": 269.9961,
"rotZ": 0.0167697761,
"scaleX": 0.5869074,
"scaleY": 1.0,
"scaleZ": 0.5869074
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567000,
"SidewaysCard": false,
"CustomDeck": {
"5670": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1538500232634569888/CA28E3A30C9AF4800A48BAAF7B7DD1E99AA5CFBE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1538500232634570083/0AFC54600B04F362DDE6FFE72AB1525A1918A8C6/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d4082a",
"Name": "CardCustom",
"Transform": {
"posX": -19.2936,
"posY": 1.30989552,
"posZ": -76.9415,
"rotX": 0.0208097715,
"rotY": 269.9962,
"rotZ": 0.01676936,
"scaleX": 0.5869074,
"scaleY": 1.0,
"scaleZ": 0.5869074
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567100,
"SidewaysCard": false,
"CustomDeck": {
"5671": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1036338067948459093/5E2B728AA9B4C86B253AE3A5BA1947319BCBB15E/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036338067948459323/2A93B296EF6FB1592072E838915DCC18AAC22A40/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d6fdbf",
"Name": "Custom_Model",
"Transform": {
"posX": -16.63592,
"posY": 1.36185551,
"posZ": -61.2268181,
"rotX": 0.02081004,
"rotY": 270.024,
"rotZ": 0.01677689,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d70f9e",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": -26.2999973,
"posY": 1.27566254,
"posZ": -53.4368,
"rotX": 359.979156,
"rotY": 89.9999,
"rotZ": 359.983246,
"scaleX": 2.0,
"scaleY": 2.0,
"scaleZ": 2.0
},
"Nickname": "starter deck & cards",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.02148666,
"g": 0.00100758043,
"b": 0.02148666
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/",
"NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 1,
"TypeIndex": 6,
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"PhysicsMaterial": {
"StaticFriction": 0.6,
"DynamicFriction": 0.6,
"Bounciness": 0.0,
"FrictionCombine": 0,
"BounceCombine": 0
},
"Rigidbody": {
"Mass": 1.375,
"Drag": 5.0,
"AngularDrag": 5.0,
"UseGravity": true
},
"ContainedObjects": [
{
"GUID": "663415",
"Name": "CardCustom",
"Transform": {
"posX": -26.3000221,
"posY": 3.38661337,
"posZ": -53.4367867,
"rotX": 0.04053611,
"rotY": 284.878052,
"rotZ": 359.926483,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 568000,
"SidewaysCard": false,
"CustomDeck": {
"5680": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552277721/0CE009447EF48CBF41342D5D83587FA1FF631D6B/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e80af6",
"Name": "CardCustom",
"Transform": {
"posX": -26.3000031,
"posY": 3.414104,
"posZ": -53.436924,
"rotX": 0.0274780989,
"rotY": 284.837463,
"rotZ": 359.929871,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 567900,
"SidewaysCard": false,
"CustomDeck": {
"5679": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352067133139/35D7F1E8BBA4B33123B776EE76C1784091F0B524/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "d9fb86",
"Name": "Custom_Model",
"Transform": {
"posX": -16.6354179,
"posY": 1.35725594,
"posZ": -76.94142,
"rotX": 0.0208135564,
"rotY": 270.0086,
"rotZ": 0.0167706981,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "de216f",
"Name": "Custom_Model",
"Transform": {
"posX": -16.63592,
"posY": 1.36221576,
"posZ": -59.99682,
"rotX": 0.0208118632,
"rotY": 270.0149,
"rotZ": 0.016773615,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516265983/F50A6212D30C442429ED22B8CC8FD24D4CB76A2A/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e04b48",
"Name": "Custom_Model",
"Transform": {
"posX": -16.636219,
"posY": 1.35761869,
"posZ": -75.70112,
"rotX": 0.0208118986,
"rotY": 270.0152,
"rotZ": 0.01677379,
"scaleX": 0.45,
"scaleY": 0.6,
"scaleZ": 0.45
},
"Nickname": "Survivor turn token",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": false,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "https://pastebin.com/raw/ALrYhQGb",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/952965722516557267/757887224F6C37104CDFFE241FAD09B57117D670/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 4,
"CastShadows": true
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "f7bef5",
"Name": "CardCustom",
"Transform": {
"posX": -19.3,
"posY": 1.31677353,
"posZ": -53.4358,
"rotX": 0.0207955018,
"rotY": 270.0453,
"rotZ": 0.0167874619,
"scaleX": 0.58659184,
"scaleY": 1.0,
"scaleZ": 0.58659184
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 566800,
"SidewaysCard": false,
"CustomDeck": {
"5668": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552276174/149CD72C6F0172D16D10C7C8B92B281F27C0A222/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1647719220552276430/4277A414265B6770BDBF2041A3B94B4ADAEA628E/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "004d53",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": -3.551213,
"posY": 1.58559573,
"posZ": -14.95619,
"rotX": 359.919739,
"rotY": 270.0,
"rotZ": 0.01684839,
"scaleX": 3.0,
"scaleY": 3.0,
"scaleZ": 3.0
},
"Nickname": "Chaos Bag",
"Description": "Chaos Bag",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/87098596225685535/6C95EB6308A0A9E89367DD67D5C65D09EB3C06A0/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/959719855127933035/B199A5F515A8F3ED7E06780D3723285C02ADE085/",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 6,
"CustomShader": {
"SpecularColor": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"SpecularIntensity": 0.0,
"SpecularSharpness": 2.0,
"FresnelStrength": 0.0
},
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "function filterObjectEnter(obj)\n local props = obj.getCustomObject()\n if props ~= nil and props.image ~= nil then\n obj.setName(Global.call(\"getTokenName\", { url=props.image }))\n end\n return true\nend\n\nfunction onCollisionEnter(collision_info)\n self.shuffle()\n self.shuffle()\n self.shuffle()\nend\n",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "",
"Name": "Custom_Tile",
"Transform": {
"posX": -4.007486,
"posY": 4.58268642,
"posZ": -14.9348431,
"rotX": 0.0,
"rotY": 260.0,
"rotZ": 0.0,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/stbBxtx.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "",
"Name": "Custom_Tile",
"Transform": {
"posX": -4.007486,
"posY": 4.58268642,
"posZ": -14.9348431,
"rotX": 0.0,
"rotY": 260.0,
"rotZ": 0.0,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/nEmqjmj.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "50e58d",
"Name": "Custom_Tile",
"Transform": {
"posX": 17.9371,
"posY": 2.29966664,
"posZ": 40.1965561,
"rotX": -0.0038688723,
"rotY": 269.993744,
"rotZ": 0.00143122277,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "-1",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/w3XbrCC.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "",
"Name": "Custom_Tile",
"Transform": {
"posX": -4.007486,
"posY": 4.58268642,
"posZ": -14.9348431,
"rotX": 0.0,
"rotY": 260.0,
"rotZ": 0.0,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/1plY463.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "",
"Name": "Custom_Tile",
"Transform": {
"posX": -4.007486,
"posY": 4.58268642,
"posZ": -14.9348431,
"rotX": 0.0,
"rotY": 260.0,
"rotZ": 0.0,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/yfs8gHq.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1f4f0e",
"Name": "Custom_Tile",
"Transform": {
"posX": 8.448438,
"posY": 2.47006655,
"posZ": -34.56107,
"rotX": 359.9243,
"rotY": 254.970428,
"rotZ": 0.0304909591,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/stbBxtx.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "",
"Name": "Custom_Tile",
"Transform": {
"posX": -4.007486,
"posY": 4.58268642,
"posZ": -14.9348431,
"rotX": 0.0,
"rotY": 260.0,
"rotZ": 0.0,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/VzhJJaH.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "",
"Name": "Custom_Tile",
"Transform": {
"posX": -4.007486,
"posY": 4.58268642,
"posZ": -14.9348431,
"rotX": 0.0,
"rotY": 260.0,
"rotZ": 0.0,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/w3XbrCC.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7180c3",
"Name": "Custom_Tile",
"Transform": {
"posX": 35.8490639,
"posY": 2.305688,
"posZ": -47.09223,
"rotX": 359.9243,
"rotY": 254.971649,
"rotZ": 0.030485943,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/btEtVfd.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "0a46d1",
"Name": "Custom_Tile",
"Transform": {
"posX": -52.1016235,
"posY": 1.63770008,
"posZ": 5.83288336,
"rotX": 359.920135,
"rotY": 269.9747,
"rotZ": 0.01691115,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/qrgGQRD.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "c4997a",
"Name": "Custom_Tile",
"Transform": {
"posX": 36.564537,
"posY": 2.29937172,
"posZ": -48.5552979,
"rotX": 359.9243,
"rotY": 254.968628,
"rotZ": 0.0304860026,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/btEtVfd.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "066d48",
"Name": "Custom_Tile",
"Transform": {
"posX": -52.1016235,
"posY": 1.63770008,
"posZ": 5.83288336,
"rotX": 359.920135,
"rotY": 269.974762,
"rotZ": 0.0169135537,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/btEtVfd.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "2adfa7",
"Name": "Custom_Tile",
"Transform": {
"posX": 25.71029,
"posY": 2.29258418,
"posZ": -58.35303,
"rotX": 359.924225,
"rotY": 254.970032,
"rotZ": 0.0304826517,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/bfTg2hb.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a752d9",
"Name": "Custom_Tile",
"Transform": {
"posX": -52.1016235,
"posY": 1.63770008,
"posZ": 5.83288336,
"rotX": 359.920135,
"rotY": 269.974762,
"rotZ": 0.0169135537,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/uIx8jbY.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a83534",
"Name": "Custom_Tile",
"Transform": {
"posX": 16.6507,
"posY": 2.29233623,
"posZ": -48.95742,
"rotX": 359.9243,
"rotY": 254.980728,
"rotZ": 0.0304908846,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/stbBxtx.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "df800e",
"Name": "Custom_Tile",
"Transform": {
"posX": 24.0262337,
"posY": 2.29457355,
"posZ": -50.1218643,
"rotX": 359.924225,
"rotY": 254.980728,
"rotZ": 0.0304826386,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/bfTg2hb.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "",
"Name": "Custom_Tile",
"Transform": {
"posX": -4.007486,
"posY": 4.58268642,
"posZ": -14.9348431,
"rotX": 0.0,
"rotY": 260.0,
"rotZ": 0.0,
"scaleX": 0.81,
"scaleY": 1.0,
"scaleZ": 0.81
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/lns4fhz.png",
"ImageSecondaryURL": "",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 2,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "646860",
"Name": "Bag",
"Transform": {
"posX": -10.3191013,
"posY": 1.08175373,
"posZ": 87.1778,
"rotX": 359.979156,
"rotY": 89.9741,
"rotZ": 359.983215,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Utility Memory Bag - Empty",
"Description": "By Directsun",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 0.5254902,
"b": 0.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"Bag": {
"Order": 0
},
"LuaScript": " -- Utility memory bag by Directsun\r\n-- Version 2.6.0\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n buttonIndexMap = {}\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1.25 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Workaround for custom PDFs\r\n if obj.Book then\r\n objPos.y = objPos.y + 0.5\r\n end\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n buttonIndexMap[obj.getGUID()] = howManyButtons\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0,0.3,-3.6}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n self.createButton({\r\n label=\"Selection\", click_function=\"editDragSelection\", function_owner=self,\r\n position={0,0.3,2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,0.3,-4.4}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0,0.3,-5.2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(obj, move)\r\n local index = buttonIndexMap[obj.getGUID()]\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\nfunction editDragSelection(bagObj, player, remove)\r\n local selectedObjs = Player[player].getSelectedObjects()\r\n if not remove then\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n --Ignore if already in the memory list, or does not have a button\r\n if index and not memoryList[obj.getGUID()] then\r\n self.editButton({index=index, color={0,1,0,0.6}})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n memoryList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n end\r\n end\r\n else\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n if index and memoryList[obj.getGUID()] then\r\n color = {0.75,0.25,0.25,0.6}\r\n self.editButton({index=index, color=color})\r\n memoryList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n position={-2.8,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n local objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n --return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n local angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n local z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"00c1ca\":{\"lock\":false,\"pos\":{\"x\":-5.7374,\"y\":1.2801,\"z\":80.3268},\"rot\":{\"x\":0.0208,\"y\":269.999,\"z\":0.0168}},\"0fa002\":{\"lock\":false,\"pos\":{\"x\":-5.7374,\"y\":1.2814,\"z\":84.9268},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"697803\":{\"lock\":false,\"pos\":{\"x\":-5.7374,\"y\":1.2834,\"z\":91.8268},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"707c21\":{\"lock\":false,\"pos\":{\"x\":-5.7374,\"y\":1.2807,\"z\":82.6268},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"72a9af\":{\"lock\":false,\"pos\":{\"x\":-5.7374,\"y\":1.2821,\"z\":87.2269},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"764523\":{\"lock\":false,\"pos\":{\"x\":-2.1932,\"y\":1.284,\"z\":89.5148},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"a21ede\":{\"lock\":false,\"pos\":{\"x\":-5.7374,\"y\":1.2827,\"z\":89.5269},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"be1507\":{\"lock\":false,\"pos\":{\"x\":-2.1932,\"y\":1.2847,\"z\":91.8148},\"rot\":{\"x\":0.0208,\"y\":269.999,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "697803",
"Name": "Card",
"Transform": {
"posX": -5.7374,
"posY": 1.28341722,
"posZ": 91.8268,
"rotX": 0.0208088662,
"rotY": 269.9989,
"rotZ": 0.0167706776,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554210,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a21ede",
"Name": "Card",
"Transform": {
"posX": -5.7374,
"posY": 1.28274393,
"posZ": 89.5269,
"rotX": 0.0208087843,
"rotY": 269.9989,
"rotZ": 0.0167707913,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554211,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "72a9af",
"Name": "Card",
"Transform": {
"posX": -5.7374,
"posY": 1.28207076,
"posZ": 87.2269,
"rotX": 0.020808734,
"rotY": 269.9989,
"rotZ": 0.016770903,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554234,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "0fa002",
"Name": "Card",
"Transform": {
"posX": -5.7374,
"posY": 1.28139746,
"posZ": 84.9268,
"rotX": 0.0208087265,
"rotY": 269.9989,
"rotZ": 0.01677086,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554235,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "707c21",
"Name": "Card",
"Transform": {
"posX": -5.7374,
"posY": 1.28072417,
"posZ": 82.6268,
"rotX": 0.0208087247,
"rotY": 269.999146,
"rotZ": 0.0167707689,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554230,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "00c1ca",
"Name": "Card",
"Transform": {
"posX": -5.7374,
"posY": 1.280051,
"posZ": 80.3268,
"rotX": 0.0208088756,
"rotY": 269.999,
"rotZ": 0.0167707056,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554231,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "be1507",
"Name": "Card",
"Transform": {
"posX": -2.1932,
"posY": 1.28470087,
"posZ": 91.8148,
"rotX": 0.0208087377,
"rotY": 269.999023,
"rotZ": 0.0167708136,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554232,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "764523",
"Name": "Card",
"Transform": {
"posX": -2.19319987,
"posY": 1.28402758,
"posZ": 89.5148,
"rotX": 0.0208087731,
"rotY": 269.9989,
"rotZ": 0.0167708546,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554233,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "34592b",
"Name": "Custom_PDF",
"Transform": {
"posX": -3.7823,
"posY": 1.47882247,
"posZ": -27.0319042,
"rotX": 359.9201,
"rotY": 270.027771,
"rotZ": 0.0168336276,
"scaleX": 2.17563772,
"scaleY": 1.0,
"scaleZ": 2.17563772
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomPDF": {
"PDFUrl": "http://cloud-3.steamusercontent.com/ugc/1799726517289017236/999A0913856FB287FCA7329503EF9C0EFFBA48BB/",
"PDFPassword": "",
"PDFPage": 0,
"PDFPageOffset": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3701d9",
"Name": "Bag",
"Transform": {
"posX": -10.4852009,
"posY": 1.07636487,
"posZ": 68.9727,
"rotX": 359.979156,
"rotY": 89.98023,
"rotZ": 359.983215,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Utility Memory Bag - Empty",
"Description": "By Directsun",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"Bag": {
"Order": 0
},
"LuaScript": " -- Utility memory bag by Directsun\r\n-- Version 2.6.0\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n buttonIndexMap = {}\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1.25 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Workaround for custom PDFs\r\n if obj.Book then\r\n objPos.y = objPos.y + 0.5\r\n end\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n buttonIndexMap[obj.getGUID()] = howManyButtons\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0,0.3,-3.6}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n self.createButton({\r\n label=\"Selection\", click_function=\"editDragSelection\", function_owner=self,\r\n position={0,0.3,2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,0.3,-4.4}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0,0.3,-5.2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(obj, move)\r\n local index = buttonIndexMap[obj.getGUID()]\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\nfunction editDragSelection(bagObj, player, remove)\r\n local selectedObjs = Player[player].getSelectedObjects()\r\n if not remove then\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n --Ignore if already in the memory list, or does not have a button\r\n if index and not memoryList[obj.getGUID()] then\r\n self.editButton({index=index, color={0,1,0,0.6}})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n memoryList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n end\r\n end\r\n else\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n if index and memoryList[obj.getGUID()] then\r\n color = {0.75,0.25,0.25,0.6}\r\n self.editButton({index=index, color=color})\r\n memoryList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n position={-2.8,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n local objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n --return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n local angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n local z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"c76a95\":{\"lock\":false,\"pos\":{\"x\":-6.1055,\"y\":1.2831,\"z\":91.0953},\"rot\":{\"x\":0.0208,\"y\":269.9994,\"z\":0.0168}},\"deca6d\":{\"lock\":false,\"pos\":{\"x\":-6.1055,\"y\":1.2824,\"z\":88.7953},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "deca6d",
"Name": "Card",
"Transform": {
"posX": -6.1054616,
"posY": 1.28239608,
"posZ": 88.79527,
"rotX": 0.02080933,
"rotY": 269.999329,
"rotZ": 0.01677164,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554222,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "c76a95",
"Name": "Card",
"Transform": {
"posX": -6.1054616,
"posY": 1.28306937,
"posZ": 91.0953,
"rotX": 0.0208094362,
"rotY": 269.9994,
"rotZ": 0.0167714451,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554221,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "2b7ea2",
"Name": "Bag",
"Transform": {
"posX": -10.4852009,
"posY": 1.077711,
"posZ": 73.5727,
"rotX": 359.979156,
"rotY": 89.97689,
"rotZ": 359.983215,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Utility Memory Bag - Empty",
"Description": "By Directsun",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.856,
"g": 0.0999994054,
"b": 0.09399941
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"Bag": {
"Order": 0
},
"LuaScript": " -- Utility memory bag by Directsun\r\n-- Version 2.6.0\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n buttonIndexMap = {}\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1.25 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Workaround for custom PDFs\r\n if obj.Book then\r\n objPos.y = objPos.y + 0.5\r\n end\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n buttonIndexMap[obj.getGUID()] = howManyButtons\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0,0.3,-3.6}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n self.createButton({\r\n label=\"Selection\", click_function=\"editDragSelection\", function_owner=self,\r\n position={0,0.3,2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,0.3,-4.4}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0,0.3,-5.2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(obj, move)\r\n local index = buttonIndexMap[obj.getGUID()]\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\nfunction editDragSelection(bagObj, player, remove)\r\n local selectedObjs = Player[player].getSelectedObjects()\r\n if not remove then\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n --Ignore if already in the memory list, or does not have a button\r\n if index and not memoryList[obj.getGUID()] then\r\n self.editButton({index=index, color={0,1,0,0.6}})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n memoryList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n end\r\n end\r\n else\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n if index and memoryList[obj.getGUID()] then\r\n color = {0.75,0.25,0.25,0.6}\r\n self.editButton({index=index, color=color})\r\n memoryList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n position={-2.8,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n local objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n --return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n local angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n local z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"0190a5\":{\"lock\":false,\"pos\":{\"x\":-4.5285,\"y\":1.2832,\"z\":89.415},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"08ba2c\":{\"lock\":false,\"pos\":{\"x\":-5.5864,\"y\":1.2834,\"z\":91.5663},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"2a23d9\":{\"lock\":false,\"pos\":{\"x\":-5.5864,\"y\":1.282,\"z\":86.9663},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"33b9fa\":{\"lock\":false,\"pos\":{\"x\":0.4907,\"y\":1.283,\"z\":82.5191},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"3ce997\":{\"lock\":false,\"pos\":{\"x\":-5.5864,\"y\":1.2827,\"z\":89.2663},\"rot\":{\"x\":0.0208,\"y\":269.9987,\"z\":0.0168}},\"4bbe32\":{\"lock\":false,\"pos\":{\"x\":-1.9207,\"y\":1.2827,\"z\":84.6547},\"rot\":{\"x\":0.0208,\"y\":270.0223,\"z\":0.0168}},\"56c9c2\":{\"lock\":false,\"pos\":{\"x\":-1.9207,\"y\":1.2841,\"z\":89.2547},\"rot\":{\"x\":0.0208,\"y\":269.9982,\"z\":0.0168}},\"67588c\":{\"lock\":false,\"pos\":{\"x\":-4.5285,\"y\":1.2825,\"z\":87.115},\"rot\":{\"x\":0.0208,\"y\":269.9998,\"z\":0.0168}},\"6a5c20\":{\"lock\":false,\"pos\":{\"x\":-1.9207,\"y\":1.282,\"z\":82.3547},\"rot\":{\"x\":0.0208,\"y\":269.9992,\"z\":0.0168}},\"7510de\":{\"lock\":false,\"pos\":{\"x\":0.4907,\"y\":1.2836,\"z\":84.8191},\"rot\":{\"x\":0.0208,\"y\":270,\"z\":0.0168}},\"7b1b07\":{\"lock\":false,\"pos\":{\"x\":0.4907,\"y\":1.285,\"z\":89.4191},\"rot\":{\"x\":0.0208,\"y\":269.9996,\"z\":0.0168}},\"7e438f\":{\"lock\":false,\"pos\":{\"x\":-4.5285,\"y\":1.2811,\"z\":82.515},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"a78be3\":{\"lock\":false,\"pos\":{\"x\":-1.9207,\"y\":1.2847,\"z\":91.5547},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"b0d683\":{\"lock\":false,\"pos\":{\"x\":-5.5864,\"y\":1.2794,\"z\":77.7663},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"bca759\":{\"lock\":false,\"pos\":{\"x\":-5.5864,\"y\":1.2814,\"z\":84.6663},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"be202a\":{\"lock\":false,\"pos\":{\"x\":-5.5864,\"y\":1.2807,\"z\":82.3663},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"c1accc\":{\"lock\":false,\"pos\":{\"x\":-4.5285,\"y\":1.2818,\"z\":84.815},\"rot\":{\"x\":0.0208,\"y\":269.9996,\"z\":0.0168}},\"cc4dbe\":{\"lock\":false,\"pos\":{\"x\":0.4912,\"y\":1.2856,\"z\":91.719},\"rot\":{\"x\":0.0208,\"y\":269.9999,\"z\":0.0168}},\"d59de5\":{\"lock\":false,\"pos\":{\"x\":0.4907,\"y\":1.2843,\"z\":87.1191},\"rot\":{\"x\":0.0208,\"y\":270.0001,\"z\":0.0168}},\"dcc191\":{\"lock\":false,\"pos\":{\"x\":-4.5285,\"y\":1.2838,\"z\":91.715},\"rot\":{\"x\":0.0208,\"y\":269.9997,\"z\":0.0168}},\"de6c9d\":{\"lock\":false,\"pos\":{\"x\":-1.9207,\"y\":1.2834,\"z\":86.9547},\"rot\":{\"x\":0.0208,\"y\":269.9993,\"z\":0.0168}},\"fc7a09\":{\"lock\":false,\"pos\":{\"x\":-5.5864,\"y\":1.28,\"z\":80.0663},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "b0d683",
"Name": "Card",
"Transform": {
"posX": -5.5864,
"posY": 1.27935636,
"posZ": 77.7663,
"rotX": 0.0208085813,
"rotY": 269.9995,
"rotZ": 0.01677096,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Improvisation",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554239,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "fc7a09",
"Name": "Card",
"Transform": {
"posX": -5.5864,
"posY": 1.28002954,
"posZ": 80.0663,
"rotX": 0.02080866,
"rotY": 269.9995,
"rotZ": 0.016770957,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Scult Flesh",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554243,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "be202a",
"Name": "Card",
"Transform": {
"posX": -5.5864,
"posY": 1.28070283,
"posZ": 82.3663,
"rotX": 0.0208086614,
"rotY": 269.9995,
"rotZ": 0.0167708416,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Ross Rifle (Survivor 3)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554242,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "bca759",
"Name": "Card",
"Transform": {
"posX": -5.5864,
"posY": 1.28137612,
"posZ": 84.6663,
"rotX": 0.0208087917,
"rotY": 269.9995,
"rotZ": 0.0167710986,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Dress Shoes",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554237,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "2a23d9",
"Name": "Card",
"Transform": {
"posX": -5.5864,
"posY": 1.2820493,
"posZ": 86.9663,
"rotX": 0.0208086446,
"rotY": 269.9995,
"rotZ": 0.01677102,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Workboots",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554244,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3ce997",
"Name": "Card",
"Transform": {
"posX": -5.5864,
"posY": 1.28272247,
"posZ": 89.2663,
"rotX": 0.0208088774,
"rotY": 269.998718,
"rotZ": 0.01677076,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554213,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "08ba2c",
"Name": "Card",
"Transform": {
"posX": -5.5864,
"posY": 1.28339577,
"posZ": 91.5663,
"rotX": 0.0208086986,
"rotY": 269.9989,
"rotZ": 0.016770836,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554212,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a78be3",
"Name": "Card",
"Transform": {
"posX": -1.9207,
"posY": 1.28472364,
"posZ": 91.5547,
"rotX": 0.0208085,
"rotY": 269.9995,
"rotZ": 0.0167711452,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "One Last Shot",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554240,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "56c9c2",
"Name": "Card",
"Transform": {
"posX": -1.92070007,
"posY": 1.28405046,
"posZ": 89.2547,
"rotX": 0.0208091848,
"rotY": 269.9982,
"rotZ": 0.01677046,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Pressing Distraction (0)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554241,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "de6c9d",
"Name": "CardCustom",
"Transform": {
"posX": -1.92070019,
"posY": 1.28337717,
"posZ": 86.9547,
"rotX": 0.0208087824,
"rotY": 269.9993,
"rotZ": 0.0167708267,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Apophenia",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554300,
"SidewaysCard": false,
"CustomDeck": {
"5543": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757565108/58408A32791E700C5A67340B53E0782D80C191FB/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4bbe32",
"Name": "CardCustom",
"Transform": {
"posX": -1.92070007,
"posY": 1.282704,
"posZ": 84.6547,
"rotX": 0.02080212,
"rotY": 270.022339,
"rotZ": 0.0167791974,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Fight For Survival",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554400,
"SidewaysCard": false,
"CustomDeck": {
"5544": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757566189/945C8A4E02123ABB482B3FD4C195F5893C058740/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "6a5c20",
"Name": "CardCustom",
"Transform": {
"posX": -1.9207,
"posY": 1.2820307,
"posZ": 82.3547,
"rotX": 0.0208087377,
"rotY": 269.9992,
"rotZ": 0.01677091,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Pressing Distraction (2)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554500,
"SidewaysCard": false,
"CustomDeck": {
"5545": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757568962/ED45E6B4FC511432F45D74C2A60A75F91522A835/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "972bf0",
"Name": "Bag",
"Transform": {
"posX": -10.485199,
"posY": 1.08040428,
"posZ": 82.7727,
"rotX": 359.979156,
"rotY": 89.9804153,
"rotZ": 359.983215,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Utility Memory Bag - Empty",
"Description": "By Directsun",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.191999435,
"g": 0.701,
"b": 0.167999417
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"Bag": {
"Order": 0
},
"LuaScript": " -- Utility memory bag by Directsun\r\n-- Version 2.6.0\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n buttonIndexMap = {}\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1.25 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Workaround for custom PDFs\r\n if obj.Book then\r\n objPos.y = objPos.y + 0.5\r\n end\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n buttonIndexMap[obj.getGUID()] = howManyButtons\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0,0.3,-3.6}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n self.createButton({\r\n label=\"Selection\", click_function=\"editDragSelection\", function_owner=self,\r\n position={0,0.3,2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,0.3,-4.4}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0,0.3,-5.2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(obj, move)\r\n local index = buttonIndexMap[obj.getGUID()]\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\nfunction editDragSelection(bagObj, player, remove)\r\n local selectedObjs = Player[player].getSelectedObjects()\r\n if not remove then\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n --Ignore if already in the memory list, or does not have a button\r\n if index and not memoryList[obj.getGUID()] then\r\n self.editButton({index=index, color={0,1,0,0.6}})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n memoryList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n end\r\n end\r\n else\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n if index and memoryList[obj.getGUID()] then\r\n color = {0.75,0.25,0.25,0.6}\r\n self.editButton({index=index, color=color})\r\n memoryList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n position={-2.8,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n local objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n --return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n local angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n local z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"08c117\":{\"lock\":false,\"pos\":{\"x\":-6.0577,\"y\":1.2818,\"z\":86.6331},\"rot\":{\"x\":0.0208,\"y\":270.0165,\"z\":0.0168}},\"0f9c65\":{\"lock\":false,\"pos\":{\"x\":-6.0577,\"y\":1.2791,\"z\":77.4331},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"1a10dc\":{\"lock\":false,\"pos\":{\"x\":-6.0577,\"y\":1.2804,\"z\":82.0331},\"rot\":{\"x\":0.0208,\"y\":269.9785,\"z\":0.0168}},\"232898\":{\"lock\":false,\"pos\":{\"x\":-6.0572,\"y\":1.2825,\"z\":88.9331},\"rot\":{\"x\":0.0208,\"y\":269.9987,\"z\":0.0168}},\"27de28\":{\"lock\":false,\"pos\":{\"x\":-6.0572,\"y\":1.2831,\"z\":91.2331},\"rot\":{\"x\":0.0208,\"y\":269.9988,\"z\":0.0168}},\"490a3c\":{\"lock\":false,\"pos\":{\"x\":-6.0577,\"y\":1.2798,\"z\":79.7331},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"6f7de5\":{\"lock\":false,\"pos\":{\"x\":-6.0577,\"y\":1.2784,\"z\":75.1331},\"rot\":{\"x\":0.0208,\"y\":269.9988,\"z\":0.0168}},\"cf1085\":{\"lock\":false,\"pos\":{\"x\":-2.4744,\"y\":1.2844,\"z\":91.2331},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"fbc27a\":{\"lock\":false,\"pos\":{\"x\":-6.0577,\"y\":1.2811,\"z\":84.3331},\"rot\":{\"x\":0.0208,\"y\":269.9663,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "6f7de5",
"Name": "Card",
"Transform": {
"posX": -6.057751,
"posY": 1.27841449,
"posZ": 75.13306,
"rotX": 0.0208086073,
"rotY": 269.99884,
"rotZ": 0.0167702343,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554227,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "0f9c65",
"Name": "Card",
"Transform": {
"posX": -6.057751,
"posY": 1.27908754,
"posZ": 77.43305,
"rotX": 0.0208095033,
"rotY": 269.999084,
"rotZ": 0.0167713333,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554223,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "490a3c",
"Name": "Card",
"Transform": {
"posX": -6.057751,
"posY": 1.27976084,
"posZ": 79.73306,
"rotX": 0.020808354,
"rotY": 269.9989,
"rotZ": 0.0167698283,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554226,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1a10dc",
"Name": "Card",
"Transform": {
"posX": -6.05775166,
"posY": 1.28043413,
"posZ": 82.03306,
"rotX": 0.0208157152,
"rotY": 269.9785,
"rotZ": 0.0167639069,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554225,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "fbc27a",
"Name": "Card",
"Transform": {
"posX": -6.0577507,
"posY": 1.28110743,
"posZ": 84.33307,
"rotX": 0.0208180342,
"rotY": 269.9663,
"rotZ": 0.016758021,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554228,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "08c117",
"Name": "Card",
"Transform": {
"posX": -6.057751,
"posY": 1.2817806,
"posZ": 86.63308,
"rotX": 0.0208045971,
"rotY": 270.016479,
"rotZ": 0.0167777166,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554229,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "232898",
"Name": "Card",
"Transform": {
"posX": -6.05722046,
"posY": 1.282454,
"posZ": 88.93305,
"rotX": 0.0208084248,
"rotY": 269.998657,
"rotZ": 0.016769696,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554214,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "27de28",
"Name": "Card",
"Transform": {
"posX": -6.057221,
"posY": 1.28312731,
"posZ": 91.23308,
"rotX": 0.02080847,
"rotY": 269.99884,
"rotZ": 0.016769873,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554211,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "cf1085",
"Name": "Card",
"Transform": {
"posX": -2.47437,
"posY": 1.2844286,
"posZ": 91.23306,
"rotX": 0.0208084956,
"rotY": 269.999054,
"rotZ": 0.0167702269,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554224,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "a01d1c",
"Name": "Bag",
"Transform": {
"posX": -10.4852,
"posY": 1.07905829,
"posZ": 78.1727,
"rotX": 359.979156,
"rotY": 89.98013,
"rotZ": 359.983215,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Utility Memory Bag - Empty",
"Description": "By Directsun",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.627,
"g": 0.124999411,
"b": 0.941
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"Bag": {
"Order": 0
},
"LuaScript": " -- Utility memory bag by Directsun\r\n-- Version 2.6.0\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n buttonIndexMap = {}\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1.25 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Workaround for custom PDFs\r\n if obj.Book then\r\n objPos.y = objPos.y + 0.5\r\n end\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n buttonIndexMap[obj.getGUID()] = howManyButtons\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0,0.3,-3.6}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n self.createButton({\r\n label=\"Selection\", click_function=\"editDragSelection\", function_owner=self,\r\n position={0,0.3,2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,0.3,-4.4}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0,0.3,-5.2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(obj, move)\r\n local index = buttonIndexMap[obj.getGUID()]\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\nfunction editDragSelection(bagObj, player, remove)\r\n local selectedObjs = Player[player].getSelectedObjects()\r\n if not remove then\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n --Ignore if already in the memory list, or does not have a button\r\n if index and not memoryList[obj.getGUID()] then\r\n self.editButton({index=index, color={0,1,0,0.6}})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n memoryList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n end\r\n end\r\n else\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n if index and memoryList[obj.getGUID()] then\r\n color = {0.75,0.25,0.25,0.6}\r\n self.editButton({index=index, color=color})\r\n memoryList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n position={-2.8,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n local objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n --return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n local angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n local z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"22099b\":{\"lock\":false,\"pos\":{\"x\":-6.4566,\"y\":1.2824,\"z\":89.3304},\"rot\":{\"x\":0.0208,\"y\":269.9987,\"z\":0.0168}},\"278aba\":{\"lock\":false,\"pos\":{\"x\":-6.4271,\"y\":1.2818,\"z\":87.0375},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"3d86b8\":{\"lock\":false,\"pos\":{\"x\":-2.8738,\"y\":1.2844,\"z\":91.6305},\"rot\":{\"x\":0.0208,\"y\":269.9989,\"z\":0.0168}},\"6058bb\":{\"lock\":false,\"pos\":{\"x\":0.7919,\"y\":1.2857,\"z\":91.6189},\"rot\":{\"x\":0.0208,\"y\":269.9991,\"z\":0.0168}},\"a4b39b\":{\"lock\":false,\"pos\":{\"x\":-6.4271,\"y\":1.2804,\"z\":82.4375},\"rot\":{\"x\":0.0208,\"y\":269.9987,\"z\":0.0168}},\"cbdcb2\":{\"lock\":false,\"pos\":{\"x\":-2.8738,\"y\":1.2837,\"z\":89.3304},\"rot\":{\"x\":0.0208,\"y\":269.999,\"z\":0.0168}},\"d0a134\":{\"lock\":false,\"pos\":{\"x\":-6.4566,\"y\":1.2831,\"z\":91.6305},\"rot\":{\"x\":0.0208,\"y\":269.9988,\"z\":0.0168}},\"e52138\":{\"lock\":false,\"pos\":{\"x\":-6.4271,\"y\":1.2811,\"z\":84.7375},\"rot\":{\"x\":0.0208,\"y\":269.9988,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "a4b39b",
"Name": "Card",
"Transform": {
"posX": -6.42710066,
"posY": 1.2804184,
"posZ": 82.4375,
"rotX": 0.020809494,
"rotY": 269.9987,
"rotZ": 0.0167712066,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554220,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e52138",
"Name": "Card",
"Transform": {
"posX": -6.42710066,
"posY": 1.28109157,
"posZ": 84.7375,
"rotX": 0.0208095871,
"rotY": 269.998779,
"rotZ": 0.01677155,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554219,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "278aba",
"Name": "Card",
"Transform": {
"posX": -6.42710447,
"posY": 1.28176475,
"posZ": 87.03751,
"rotX": 0.0208095647,
"rotY": 269.999054,
"rotZ": 0.0167713743,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554215,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "22099b",
"Name": "Card",
"Transform": {
"posX": -6.456645,
"posY": 1.28242528,
"posZ": 89.33044,
"rotX": 0.0208092146,
"rotY": 269.998718,
"rotZ": 0.01677109,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554214,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d0a134",
"Name": "Card",
"Transform": {
"posX": -6.45664549,
"posY": 1.28309858,
"posZ": 91.63046,
"rotX": 0.0208097342,
"rotY": 269.998779,
"rotZ": 0.0167713,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554213,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3d86b8",
"Name": "Card",
"Transform": {
"posX": -2.87377572,
"posY": 1.28439975,
"posZ": 91.63047,
"rotX": 0.0208095014,
"rotY": 269.998932,
"rotZ": 0.0167711172,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554218,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "cbdcb2",
"Name": "Card",
"Transform": {
"posX": -2.87377572,
"posY": 1.28372645,
"posZ": 89.3304443,
"rotX": 0.0208096113,
"rotY": 269.998962,
"rotZ": 0.0167713445,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554217,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "6058bb",
"Name": "Card",
"Transform": {
"posX": 0.791942656,
"posY": 1.28572774,
"posZ": 91.6189041,
"rotX": 0.02080922,
"rotY": 269.999054,
"rotZ": 0.0167712867,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554216,
"SidewaysCard": false,
"CustomDeck": {
"5542": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726608757535699/014BDA84297201E20489830D8AB35DA3ED96AD00/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": false,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "dcceb8",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": 12.2502012,
"posY": 1.47267187,
"posZ": 27.9861031,
"rotX": 359.9201,
"rotY": 270.0878,
"rotZ": 0.0167516246,
"scaleX": 2.21,
"scaleY": 0.46,
"scaleZ": 2.42
},
"Nickname": "1: The Beginning of the End",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj",
"DiffuseURL": "https://i.imgur.com/WSAdJUN.png",
"NormalURL": "",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 3,
"TypeIndex": 6,
"CustomShader": {
"SpecularColor": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"SpecularIntensity": 0.0,
"SpecularSharpness": 2.0,
"FresnelStrength": 0.0
},
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "-- Utility memory bag by Directsun\r\n-- Version 2.5.2\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n local dummyIndex = howManyButtons\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor + 2\r\n objPos.z = objPos.z * globalScaleFactor * 0.9\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(dummyIndex, obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=500, width=500,\r\n color=color,\r\n })\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={-0.6,0.1,-2.1}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={-0.6,0.3,-2.5}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0.6,0.3,-2.1}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0.6,0.3,-2.9}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0.6,0.3,-2.5}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-0.6,0.3,-2.9}, rotation={0,0,0}, height=220, width=550,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(index, obj, move)\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0.6,0.1,2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={-0.6,0.1,2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.1,-2.1}, rotation={0,0,0}, height=220, width=500,\r\n font_size=130, color={0,0,0}, font_color={1,1,1}\r\n })\r\n--- self.createButton({\r\n--- label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,\r\n--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n--- })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n\tlocal objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n\tlocal x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n\tlocal z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n\t--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n\tlocal angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n\tlocal z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"01961e\":{\"lock\":false,\"pos\":{\"x\":-3.9276,\"y\":1.7636,\"z\":5.7572},\"rot\":{\"x\":359.9197,\"y\":270.0193,\"z\":180.0168}},\"0ccc8d\":{\"lock\":false,\"pos\":{\"x\":1.7009,\"y\":1.5583,\"z\":14.2781},\"rot\":{\"x\":359.9551,\"y\":225.0036,\"z\":0.0687}},\"17a00f\":{\"lock\":false,\"pos\":{\"x\":-36.7732,\"y\":1.6463,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":270.0001,\"z\":180.0168}},\"2c2feb\":{\"lock\":false,\"pos\":{\"x\":-26.9465,\"y\":1.619,\"z\":0.0429},\"rot\":{\"x\":359.9201,\"y\":270.0127,\"z\":0.0168}},\"2e2f73\":{\"lock\":false,\"pos\":{\"x\":-23.6765,\"y\":1.6281,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":180.0168}},\"52127f\":{\"lock\":false,\"pos\":{\"x\":-2.7248,\"y\":1.599,\"z\":0.3733},\"rot\":{\"x\":359.9197,\"y\":269.9999,\"z\":0.0168}},\"55012a\":{\"lock\":false,\"pos\":{\"x\":-30.2242,\"y\":1.6372,\"z\":-0.03},\"rot\":{\"x\":359.9201,\"y\":269.9999,\"z\":180.0168}},\"7234af\":{\"lock\":false,\"pos\":{\"x\":-33.5126,\"y\":1.6282,\"z\":0.0542},\"rot\":{\"x\":359.9201,\"y\":270.0094,\"z\":0.0169}},\"8551e1\":{\"lock\":false,\"pos\":{\"x\":-3.956,\"y\":1.5975,\"z\":-10.4412},\"rot\":{\"x\":359.9197,\"y\":270.0032,\"z\":0.0168}},\"a09177\":{\"lock\":false,\"pos\":{\"x\":-2.6886,\"y\":1.6191,\"z\":-5.0469},\"rot\":{\"x\":359.9197,\"y\":269.9995,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "964b1a",
"Name": "CardCustom",
"Transform": {
"posX": 12.2502909,
"posY": 1.9503746,
"posZ": 27.986351,
"rotX": 359.919983,
"rotY": 270.013947,
"rotZ": 0.01673465,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Arthur Lambert",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 555800,
"SidewaysCard": false,
"CustomDeck": {
"5558": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397729804/2847571FBDCE89A3AB5D21975B41733CAA3B173F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "01961e",
"Name": "Deck",
"Transform": {
"posX": -3.927627,
"posY": 1.76363468,
"posZ": 5.75720644,
"rotX": 359.919739,
"rotY": 270.0193,
"rotZ": 180.0168,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
554600,
231720,
231721,
560800,
231720,
554600,
554600,
231722,
231723,
560900,
231721,
231722,
231722,
561200,
560500,
560600,
561300,
231724,
560500,
560600,
561100,
561300,
231724,
561100,
231727,
560800,
231727,
560700,
561200,
561400,
560700,
561500
],
"CustomDeck": {
"5546": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395548236/D0A91AD0C95259544B9311BC29E8A232F31B33CE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5608": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229212543/FFCC1FA605D070D3C0D93C1C8996BBA83194F747/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5609": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334227738208/F137D2DD8E479829FAFC1E3E1E6E4C10BA998ECE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5612": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069847693/3EAE92B86378CFFBE0B15F7277934416E1FCBEE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5605": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229215495/47313373B627194D02F4E951DCA91828E58A24E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5606": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216286/D9810FFB8E628686666F722D853EB5AE1AB1D502/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5613": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216595/84195802FDBE84707421AC798185ECFFB1056958/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5611": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069784691/902A66B7B2AFFD2CE92FA06CEB81B61A59970447/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5607": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229217842/2A757F68DC8ACB98D7625238AC03529EA58D8C86/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5614": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283087742234926/118FC01E906D188F40355C1FDA90442E167F7ADC/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5615": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069942489/CB6DAEF1C6A5E848EBFE723FE9A834A2E8A94582/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "d3eba7",
"Name": "CardCustom",
"Transform": {
"posX": -9.75297,
"posY": 1.30042326,
"posZ": 82.39938,
"rotX": 0.0218945444,
"rotY": 269.99884,
"rotZ": 358.903076,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Shadows of the Past",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554600,
"SidewaysCard": false,
"CustomDeck": {
"5401": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395548236/D0A91AD0C95259544B9311BC29E8A232F31B33CE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "16d6d6",
"Name": "Card",
"Transform": {
"posX": -10.1506262,
"posY": 1.30495775,
"posZ": 83.5958,
"rotX": 0.0173587129,
"rotY": 269.996826,
"rotZ": 358.6819,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Crypt Chill",
"Description": "Hazard.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231720,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "c4ce76",
"Name": "Card",
"Transform": {
"posX": -10.3915539,
"posY": 1.350548,
"posZ": 84.69617,
"rotX": 0.02591374,
"rotY": 270.007874,
"rotZ": 358.5868,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Obscuring Fog",
"Description": "Hazard.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231721,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e22d51",
"Name": "CardCustom",
"Transform": {
"posX": -9.628587,
"posY": 1.30111313,
"posZ": 80.9617844,
"rotX": 0.0212170761,
"rotY": 269.9982,
"rotZ": 358.848328,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Fear Itself",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560800,
"SidewaysCard": false,
"CustomDeck": {
"5608": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229212543/FFCC1FA605D070D3C0D93C1C8996BBA83194F747/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "59de66",
"Name": "Card",
"Transform": {
"posX": -10.6730633,
"posY": 1.34271586,
"posZ": 85.931076,
"rotX": 0.0212647263,
"rotY": 270.000519,
"rotZ": 356.72525,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Crypt Chill",
"Description": "Hazard.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231720,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "2af55a",
"Name": "CardCustom",
"Transform": {
"posX": -9.167614,
"posY": 1.27795362,
"posZ": 77.41759,
"rotX": 0.0208084323,
"rotY": 270.000031,
"rotZ": 0.01677116,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Shadows of the Past",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554600,
"SidewaysCard": false,
"CustomDeck": {
"5401": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395548236/D0A91AD0C95259544B9311BC29E8A232F31B33CE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "37aa90",
"Name": "CardCustom",
"Transform": {
"posX": 8.872006,
"posY": 1.287268,
"posZ": 86.8560638,
"rotX": 0.0208106935,
"rotY": 269.992523,
"rotZ": 0.016768489,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Shadows of the Past",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 554600,
"SidewaysCard": false,
"CustomDeck": {
"5401": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395548236/D0A91AD0C95259544B9311BC29E8A232F31B33CE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4911f2",
"Name": "Card",
"Transform": {
"posX": -0.8265568,
"posY": 1.28508556,
"posZ": 91.43341,
"rotX": 0.02081029,
"rotY": 269.9926,
"rotZ": 0.0167674813,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Acolyte",
"Description": "Humanoid. Cultist.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231722,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d36612",
"Name": "Card",
"Transform": {
"posX": -0.86304903,
"posY": 1.28299654,
"posZ": 84.3420639,
"rotX": 0.0207206756,
"rotY": 270.299622,
"rotZ": 0.0168797635,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Wizard of the Order",
"Description": "Humanoid. Cultist.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231723,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7c5f0a",
"Name": "CardCustom",
"Transform": {
"posX": 8.876222,
"posY": 1.28659439,
"posZ": 84.5497055,
"rotX": 0.0208108276,
"rotY": 269.9926,
"rotZ": 0.016768679,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Consumed by the Past",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560900,
"SidewaysCard": false,
"CustomDeck": {
"5409": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334227738208/F137D2DD8E479829FAFC1E3E1E6E4C10BA998ECE/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "50e716",
"Name": "Card",
"Transform": {
"posX": 2.39515758,
"posY": 1.28418636,
"posZ": 84.36405,
"rotX": 0.0208103266,
"rotY": 269.992523,
"rotZ": 0.0167676769,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Obscuring Fog",
"Description": "Hazard.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231721,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "50fdc5",
"Name": "Card",
"Transform": {
"posX": -0.8482597,
"posY": 1.28435671,
"posZ": 88.97042,
"rotX": 0.02081036,
"rotY": 269.992462,
"rotZ": 0.0167677868,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Acolyte",
"Description": "Humanoid. Cultist.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231722,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1a3fa0",
"Name": "Card",
"Transform": {
"posX": -0.9021939,
"posY": 1.28365576,
"posZ": 86.64277,
"rotX": 0.0208130032,
"rotY": 269.984619,
"rotZ": 0.0167654958,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Acolyte",
"Description": "Humanoid. Cultist.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231722,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e055a1",
"Name": "CardCustom",
"Transform": {
"posX": 5.71238,
"posY": 1.28542709,
"posZ": 84.4869843,
"rotX": 0.0208085,
"rotY": 269.999329,
"rotZ": 0.016770035,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Courage Fails",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561200,
"SidewaysCard": false,
"CustomDeck": {
"5612": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069847693/3EAE92B86378CFFBE0B15F7277934416E1FCBEE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "eb3b81",
"Name": "CardCustom",
"Transform": {
"posX": -4.06734228,
"posY": 1.28389633,
"posZ": 91.39129,
"rotX": 0.0208102725,
"rotY": 269.992432,
"rotZ": 0.0167674385,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Fear)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560500,
"SidewaysCard": false,
"CustomDeck": {
"5605": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229215495/47313373B627194D02F4E951DCA91828E58A24E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "bb6da8",
"Name": "CardCustom",
"Transform": {
"posX": -4.10754156,
"posY": 1.28250277,
"posZ": 86.68062,
"rotX": 0.0208109245,
"rotY": 269.9924,
"rotZ": 0.0167685375,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Flee)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560600,
"SidewaysCard": false,
"CustomDeck": {
"5606": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216286/D9810FFB8E628686666F722D853EB5AE1AB1D502/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1e9626",
"Name": "CardCustom",
"Transform": {
"posX": -4.08784866,
"posY": 1.28113949,
"posZ": 81.99894,
"rotX": 0.0208107475,
"rotY": 269.992432,
"rotZ": 0.0167682916,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Conundrum)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561300,
"SidewaysCard": false,
"CustomDeck": {
"5609": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216595/84195802FDBE84707421AC798185ECFFB1056958/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "b347d1",
"Name": "Card",
"Transform": {
"posX": -0.8971858,
"posY": 1.28232265,
"posZ": 82.08222,
"rotX": 0.0208102185,
"rotY": 269.992767,
"rotZ": 0.0167676751,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mysterious Chanting",
"Description": "Hex.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231724,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "f2facb",
"Name": "CardCustom",
"Transform": {
"posX": -4.0051074,
"posY": 1.28321242,
"posZ": 88.97779,
"rotX": 0.02081027,
"rotY": 269.992462,
"rotZ": 0.0167675912,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Fear)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560500,
"SidewaysCard": false,
"CustomDeck": {
"5605": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229215495/47313373B627194D02F4E951DCA91828E58A24E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3c4ac4",
"Name": "CardCustom",
"Transform": {
"posX": -4.07979155,
"posY": 1.28182352,
"posZ": 84.32553,
"rotX": 0.02081438,
"rotY": 269.979736,
"rotZ": 0.0167637728,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Flee)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560600,
"SidewaysCard": false,
"CustomDeck": {
"5606": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216286/D9810FFB8E628686666F722D853EB5AE1AB1D502/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "db1065",
"Name": "CardCustom",
"Transform": {
"posX": 8.884253,
"posY": 1.28590548,
"posZ": 82.1972656,
"rotX": 0.0208362229,
"rotY": 269.99585,
"rotZ": 0.0166712739,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Jumping at Shadows",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561100,
"SidewaysCard": false,
"CustomDeck": {
"5611": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069784691/902A66B7B2AFFD2CE92FA06CEB81B61A59970447/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "6e2542",
"Name": "CardCustom",
"Transform": {
"posX": -4.090195,
"posY": 1.28046465,
"posZ": 79.69603,
"rotX": 0.0208108313,
"rotY": 269.990967,
"rotZ": 0.016767092,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Conundrum)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561300,
"SidewaysCard": false,
"CustomDeck": {
"5609": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229216595/84195802FDBE84707421AC798185ECFFB1056958/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d63054",
"Name": "Card",
"Transform": {
"posX": -0.8585589,
"posY": 1.28164494,
"posZ": 79.71895,
"rotX": 0.020810334,
"rotY": 269.992554,
"rotZ": 0.0167674273,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mysterious Chanting",
"Description": "Hex.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231724,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "43a4ce",
"Name": "CardCustom",
"Transform": {
"posX": 8.885437,
"posY": 1.28522909,
"posZ": 79.8737259,
"rotX": 0.02080938,
"rotY": 269.9975,
"rotZ": 0.0167703815,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Jumping at Shadows",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561100,
"SidewaysCard": false,
"CustomDeck": {
"5611": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069784691/902A66B7B2AFFD2CE92FA06CEB81B61A59970447/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "ab3719",
"Name": "Card",
"Transform": {
"posX": -7.36404276,
"posY": 1.28267539,
"posZ": 91.3106842,
"rotX": 0.020810239,
"rotY": 269.992432,
"rotZ": 0.0167675074,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Locked Door",
"Description": "Obstacle.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231727,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "049ecc",
"Name": "CardCustom",
"Transform": {
"posX": 9.849756,
"posY": 2.96333313,
"posZ": 29.2564564,
"rotX": 359.920135,
"rotY": 269.9999,
"rotZ": 0.016874671,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Fear Itself",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560800,
"SidewaysCard": false,
"CustomDeck": {
"5608": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229212543/FFCC1FA605D070D3C0D93C1C8996BBA83194F747/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4904d0",
"Name": "Card",
"Transform": {
"posX": -7.368953,
"posY": 1.28199494,
"posZ": 88.99224,
"rotX": 0.0208103452,
"rotY": 269.9924,
"rotZ": 0.016767405,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Locked Door",
"Description": "Obstacle.",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 231727,
"SidewaysCard": false,
"CustomDeck": {
"2317": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/775106514377430057/E4E5A51434CEF23EF5D04A104F352520304AA550/",
"BackURL": "https://i.imgur.com/sRsWiSG.jpg/",
"NumWidth": 10,
"NumHeight": 7,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7c604b",
"Name": "CardCustom",
"Transform": {
"posX": -4.05753851,
"posY": 1.27980113,
"posZ": 77.38898,
"rotX": 0.02081037,
"rotY": 269.992462,
"rotZ": 0.0167677943,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Struggle)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560700,
"SidewaysCard": false,
"CustomDeck": {
"5607": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229217842/2A757F68DC8ACB98D7625238AC03529EA58D8C86/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "424a4d",
"Name": "CardCustom",
"Transform": {
"posX": 10.0021725,
"posY": 2.5252943,
"posZ": 36.72199,
"rotX": 0.0207983591,
"rotY": 270.000977,
"rotZ": 0.0167576727,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Courage Fails",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561200,
"SidewaysCard": false,
"CustomDeck": {
"5612": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069847693/3EAE92B86378CFFBE0B15F7277934416E1FCBEE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "93400d",
"Name": "CardCustom",
"Transform": {
"posX": 10.0334854,
"posY": 2.52603483,
"posZ": 39.2199936,
"rotX": 0.02080982,
"rotY": 269.999451,
"rotZ": 0.0167704951,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Chained by the Past",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561400,
"SidewaysCard": false,
"CustomDeck": {
"5402": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283087742234926/118FC01E906D188F40355C1FDA90442E167F7ADC/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "af1b3d",
"Name": "CardCustom",
"Transform": {
"posX": -4.00789165,
"posY": 1.27914023,
"posZ": 75.06953,
"rotX": 0.0208103284,
"rotY": 269.992462,
"rotZ": 0.01676746,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Tension (Struggle)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 560700,
"SidewaysCard": false,
"CustomDeck": {
"5607": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1715283334229217842/2A757F68DC8ACB98D7625238AC03529EA58D8C86/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "424457",
"Name": "CardCustom",
"Transform": {
"posX": 15.5046425,
"posY": 2.012396,
"posZ": 40.602356,
"rotX": 351.869446,
"rotY": 270.002319,
"rotZ": 0.000478224334,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Memories",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561500,
"SidewaysCard": false,
"CustomDeck": {
"5613": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069942489/CB6DAEF1C6A5E848EBFE723FE9A834A2E8A94582/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "0ccc8d",
"Name": "Custom_Model_Bag",
"Transform": {
"posX": 1.70090032,
"posY": 1.55831027,
"posZ": 14.2781019,
"rotX": 359.955139,
"rotY": 225.0036,
"rotZ": 0.06866691,
"scaleX": 2.0,
"scaleY": 2.0,
"scaleZ": 2.0
},
"Nickname": "Set Aside",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.02148666,
"g": 0.00100758043,
"b": 0.02148666
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/764975951334964971/3078F312706FC974833ECD2A359B87FD4F283509/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960553/C518D80E31E27DB23EEAC8CF9253E59798865790/",
"NormalURL": "http://cloud-3.steamusercontent.com/ugc/764975951334960069/E70E4A58A1B7827F1E5E2AF9FF44DF0BD5DA33F7/",
"ColliderURL": "",
"Convex": true,
"MaterialIndex": 1,
"TypeIndex": 6,
"CastShadows": true
},
"Bag": {
"Order": 0
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"PhysicsMaterial": {
"StaticFriction": 0.6,
"DynamicFriction": 0.6,
"Bounciness": 0.0,
"FrictionCombine": 0,
"BounceCombine": 0
},
"Rigidbody": {
"Mass": 1.375,
"Drag": 5.0,
"AngularDrag": 5.0,
"UseGravity": true
},
"ContainedObjects": [
{
"GUID": "04b373",
"Name": "CardCustom",
"Transform": {
"posX": 1.696427,
"posY": 3.65663719,
"posZ": 14.2788324,
"rotX": 359.9477,
"rotY": 225.070618,
"rotZ": 0.0585614555,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Trevor Ogden",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 556000,
"SidewaysCard": false,
"CustomDeck": {
"5560": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395802017/BB0AD40A88949AE99DF4E971B0667E762FDA86FC/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395801778/B8F509A75ADA1F066E6C929D15E46D8C7A74D241/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "99e37c",
"Name": "CardCustom",
"Transform": {
"posX": 1.69642258,
"posY": 3.656737,
"posZ": 14.2788315,
"rotX": 359.9475,
"rotY": 225.106232,
"rotZ": 0.0580173545,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Copper Orrery",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 563200,
"SidewaysCard": false,
"CustomDeck": {
"5632": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395802650/315EAAAEDA77DC86EE8769111DF379AD5E360632/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395802930/64126B17002E77F8E213742A664F809098AB7CAD/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a1991e",
"Name": "Deck",
"Transform": {
"posX": 1.69653642,
"posY": 3.72228551,
"posZ": 14.27885,
"rotX": 359.980621,
"rotY": 225.000046,
"rotZ": 180.050735,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Chronomancy Encounter Set",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
562600,
562600,
562600,
562800,
562800,
562800,
562700,
562700,
562900,
562900,
563000,
563100
],
"CustomDeck": {
"5626": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071840592/1E89420EDF6B5B650477116D8073EA478A5996B1/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5628": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071888445/3D81C832C2A09417E0A4F564842060531C181EE5/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5627": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071887058/87F7BC3C6B0F18F9ABAB5EA7A9D17FC494307BEF/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5629": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071898673/0388A96BC2FB6382D901AA0D3914DB0AC86C1D83/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5630": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071934573/D02664ACEB7180AB85288D66732D0E5D87130778/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5631": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071941078/5C294EB20925972B0DE84DA8B5A1328DFD3101E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "993729",
"Name": "CardCustom",
"Transform": {
"posX": 3.97019982,
"posY": 1.28808916,
"posZ": 95.74282,
"rotX": 0.0208037868,
"rotY": 270.015228,
"rotZ": 0.0167762674,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "History Repeats",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562600,
"SidewaysCard": false,
"CustomDeck": {
"5626": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071840592/1E89420EDF6B5B650477116D8073EA478A5996B1/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "b2b887",
"Name": "CardCustom",
"Transform": {
"posX": 3.98576355,
"posY": 1.28741992,
"posZ": 93.43733,
"rotX": 0.0208031423,
"rotY": 270.016663,
"rotZ": 0.0167764369,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "History Repeats",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562600,
"SidewaysCard": false,
"CustomDeck": {
"5626": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071840592/1E89420EDF6B5B650477116D8073EA478A5996B1/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "4fc63c",
"Name": "CardCustom",
"Transform": {
"posX": 4.003375,
"posY": 1.2867043,
"posZ": 90.9708252,
"rotX": 0.0208040383,
"rotY": 270.015961,
"rotZ": 0.0167769548,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "History Repeats",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562600,
"SidewaysCard": false,
"CustomDeck": {
"5626": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071840592/1E89420EDF6B5B650477116D8073EA478A5996B1/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "6fb24a",
"Name": "CardCustom",
"Transform": {
"posX": 3.99421144,
"posY": 1.28601742,
"posZ": 88.63547,
"rotX": 0.0208110251,
"rotY": 269.989929,
"rotZ": 0.01676657,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Reflections",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562800,
"SidewaysCard": false,
"CustomDeck": {
"5628": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071888445/3D81C832C2A09417E0A4F564842060531C181EE5/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "dde308",
"Name": "CardCustom",
"Transform": {
"posX": 4.0081,
"posY": 1.2853173,
"posZ": 86.22666,
"rotX": 0.020811297,
"rotY": 269.989227,
"rotZ": 0.0167663712,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Reflections",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562800,
"SidewaysCard": false,
"CustomDeck": {
"5628": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071888445/3D81C832C2A09417E0A4F564842060531C181EE5/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "72297c",
"Name": "CardCustom",
"Transform": {
"posX": 3.98723388,
"posY": 1.28462064,
"posZ": 83.87255,
"rotX": 0.02081122,
"rotY": 269.990936,
"rotZ": 0.0167678464,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Future Reflections",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562800,
"SidewaysCard": false,
"CustomDeck": {
"5628": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071888445/3D81C832C2A09417E0A4F564842060531C181EE5/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "bb4fc0",
"Name": "CardCustom",
"Transform": {
"posX": 4.102865,
"posY": 1.28400576,
"posZ": 81.62834,
"rotX": 0.0208129343,
"rotY": 269.983856,
"rotZ": 0.0167646315,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Hasten",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562700,
"SidewaysCard": false,
"CustomDeck": {
"5627": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071887058/87F7BC3C6B0F18F9ABAB5EA7A9D17FC494307BEF/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "33617c",
"Name": "CardCustom",
"Transform": {
"posX": 4.12787247,
"posY": 1.28334689,
"posZ": 79.3464661,
"rotX": 0.0208086818,
"rotY": 269.997864,
"rotZ": 0.0167694874,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Hasten",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562700,
"SidewaysCard": false,
"CustomDeck": {
"5627": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071887058/87F7BC3C6B0F18F9ABAB5EA7A9D17FC494307BEF/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "e205c0",
"Name": "CardCustom",
"Transform": {
"posX": 4.14972162,
"posY": 1.28260207,
"posZ": 76.77484,
"rotX": 0.0208085012,
"rotY": 270.0003,
"rotZ": 0.0167709254,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Chronological Distortions",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562900,
"SidewaysCard": false,
"CustomDeck": {
"5629": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071898673/0388A96BC2FB6382D901AA0D3914DB0AC86C1D83/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a20544",
"Name": "CardCustom",
"Transform": {
"posX": 4.14471,
"posY": 1.28192234,
"posZ": 74.4591,
"rotX": 0.02080784,
"rotY": 270.0003,
"rotZ": 0.0167704374,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Chronological Distortions",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562900,
"SidewaysCard": false,
"CustomDeck": {
"5629": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071898673/0388A96BC2FB6382D901AA0D3914DB0AC86C1D83/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "62a667",
"Name": "CardCustom",
"Transform": {
"posX": 4.152201,
"posY": 1.28123724,
"posZ": 72.1089554,
"rotX": 0.0208207089,
"rotY": 269.9567,
"rotZ": 0.0167546086,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Haven't I Seen This Before",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563000,
"SidewaysCard": false,
"CustomDeck": {
"5630": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071934573/D02664ACEB7180AB85288D66732D0E5D87130778/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7b195b",
"Name": "CardCustom",
"Transform": {
"posX": 4.164985,
"posY": 1.28055072,
"posZ": 69.74807,
"rotX": 0.02080555,
"rotY": 270.008575,
"rotZ": 0.016773684,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Time Stop",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563100,
"SidewaysCard": false,
"CustomDeck": {
"5631": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352071941078/5C294EB20925972B0DE84DA8B5A1328DFD3101E4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1285163903138608176/A372A735C4BCA35FE128AD9388BD116ECDC282F0/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "67fb20",
"Name": "CardCustom",
"Transform": {
"posX": 1.69642043,
"posY": 3.65666,
"posZ": 14.2788191,
"rotX": 359.947632,
"rotY": 224.994278,
"rotZ": 180.058533,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "The Red Door",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 555900,
"SidewaysCard": false,
"CustomDeck": {
"5559": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395539944/77F67997795EF37A312F05A855D258CA7FFB5581/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395539585/263D62D68A6099A9D0492984CF721AC4F165B0C7/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "3380bc",
"Name": "Deck",
"Transform": {
"posX": 1.69643319,
"posY": 3.68336916,
"posZ": 14.2788048,
"rotX": 359.947449,
"rotY": 225.008209,
"rotZ": 180.058563,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Dark Rooms (Shuffle before using)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
541300,
541400,
561600,
541500
],
"CustomDeck": {
"5413": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395537714/1E15FC791CBACCBFB570AB0F66309387A687E0A4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5414": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395535410/90F64F1014D87D98BCA15547C1F139D368ACEFE3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5616": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959657196/65156722EDA6F5740C42EBDB1A38AB2AC4040D36/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"5415": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395536709/4B735BEDDB55A4AB3C734C7117F88EA44CFC682C/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "aa4a8f",
"Name": "CardCustom",
"Transform": {
"posX": -23.6765423,
"posY": 1.65654349,
"posZ": -7.7001214,
"rotX": 359.864136,
"rotY": 270.009644,
"rotZ": 180.14711,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Dark Room",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 541300,
"SidewaysCard": false,
"CustomDeck": {
"5413": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395537714/1E15FC791CBACCBFB570AB0F66309387A687E0A4/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "b6ebee",
"Name": "CardCustom",
"Transform": {
"posX": -23.6763687,
"posY": 1.62597322,
"posZ": -7.700593,
"rotX": 359.919,
"rotY": 270.018,
"rotZ": 180.006836,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Dark Room",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 541400,
"SidewaysCard": false,
"CustomDeck": {
"5414": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395535410/90F64F1014D87D98BCA15547C1F139D368ACEFE3/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "6d94f6",
"Name": "CardCustom",
"Transform": {
"posX": -23.676569,
"posY": 1.660438,
"posZ": 7.56995773,
"rotX": 359.964569,
"rotY": 269.983734,
"rotZ": 180.046432,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Dark Room",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 561600,
"SidewaysCard": false,
"CustomDeck": {
"5613": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959657196/65156722EDA6F5740C42EBDB1A38AB2AC4040D36/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d78524",
"Name": "CardCustom",
"Transform": {
"posX": -23.6768265,
"posY": 1.63012218,
"posZ": 7.57100773,
"rotX": 359.921844,
"rotY": 270.044464,
"rotZ": 180.028625,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Dark Room",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 541500,
"SidewaysCard": false,
"CustomDeck": {
"5415": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395536709/4B735BEDDB55A4AB3C734C7117F88EA44CFC682C/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788397502322/73E2B60FAB8C95F793EBD7D3F0A4E0ACE69A5724/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "bb8b5c",
"Name": "CardCustom",
"Transform": {
"posX": 1.6964339,
"posY": 3.66878772,
"posZ": 14.2788334,
"rotX": 359.9551,
"rotY": 225.000122,
"rotZ": 0.0686765,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Arthur Lambert (Stalwart Companion)",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562600,
"SidewaysCard": false,
"CustomDeck": {
"5626": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006819327/47F2242DDCE3F870DFB6D9A90BFE6DED02952DA1/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
},
{
"GUID": "17a00f",
"Name": "CardCustom",
"Transform": {
"posX": -36.7732,
"posY": 1.646329,
"posZ": -0.0299998056,
"rotX": 359.9201,
"rotY": 270.000061,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Mansion of the Woods",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 541200,
"SidewaysCard": false,
"CustomDeck": {
"5412": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395524645/4E90406AA0059CEBEED12A65399AD76FD2D0D9E7/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395525827/9400EAB35BC38A91C963C56E8CD0F9429DBC555E/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "2c2feb",
"Name": "Custom_Tile",
"Transform": {
"posX": -26.9465,
"posY": 1.61904287,
"posZ": 0.04289972,
"rotX": 359.9201,
"rotY": 270.0127,
"rotZ": 0.0168495178,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "2e2f73",
"Name": "CardCustom",
"Transform": {
"posX": -23.6765,
"posY": 1.62806654,
"posZ": -0.0299998876,
"rotX": 359.9201,
"rotY": 269.9999,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Second Story Balcony",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 541100,
"SidewaysCard": false,
"CustomDeck": {
"5411": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395529961/4FCF954C0235C46F7D789297DC62101C0BDC0BE0/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395529579/706992FBE4702F5F56C895F2EAC90C5D8F1B264B/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "52127f",
"Name": "CardCustom",
"Transform": {
"posX": -2.72480035,
"posY": 1.59899271,
"posZ": 0.373299658,
"rotX": 359.919739,
"rotY": 269.9999,
"rotZ": 0.01683678,
"scaleX": 0.7146597,
"scaleY": 1.0,
"scaleZ": 0.7146597
},
"Nickname": "Agenda 1a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561600,
"SidewaysCard": false,
"CustomDeck": {
"5616": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1751306451153692016/6C21233D55397B560BD5B0F06C1E8CAD5A11DC68/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069972518/4C6B3026B880BF2EF8186A15C115A4ABDD5F1460/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "55012a",
"Name": "CardCustom",
"Transform": {
"posX": -30.2242,
"posY": 1.6371969,
"posZ": -0.0300000049,
"rotX": 359.9201,
"rotY": 269.9999,
"rotZ": 180.01683,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Grand Hall",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": true,
"CardID": 561700,
"SidewaysCard": false,
"CustomDeck": {
"5617": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395527748/3674EBD0CF0851ABEE02527F97155A4F6E0F98CA/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648846788395527400/2ACE007A92B37824B66E4C7D1D6333396275D220/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7234af",
"Name": "Custom_Tile",
"Transform": {
"posX": -33.5126,
"posY": 1.62820208,
"posZ": 0.05419972,
"rotX": 359.9201,
"rotY": 270.0094,
"rotZ": 0.01685475,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/vppt2my.png",
"ImageSecondaryURL": "https://i.imgur.com/vppt2my.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"States": {
"2": {
"GUID": "44b0c5",
"Name": "Custom_Tile",
"Transform": {
"posX": -39.7933121,
"posY": 1.63758957,
"posZ": 2.038383,
"rotX": 359.9201,
"rotY": 269.9961,
"rotZ": 0.0168742146,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/HyfE8m8.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
"3": {
"GUID": "5b38c6",
"Name": "Custom_Tile",
"Transform": {
"posX": -38.8217163,
"posY": 1.99356019,
"posZ": 0.4159239,
"rotX": 359.9201,
"rotY": 272.9828,
"rotZ": 0.01687373,
"scaleX": 0.8,
"scaleY": 1.0,
"scaleZ": 0.8
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.6045295,
"g": 0.6045295,
"b": 0.6045295
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomImage": {
"ImageURL": "https://i.imgur.com/dHKBLoD.png",
"ImageSecondaryURL": "https://i.imgur.com/HyfE8m8.png",
"ImageScalar": 1.0,
"WidthScale": 0.0,
"CustomTile": {
"Type": 3,
"Thickness": 0.1,
"Stackable": false,
"Stretch": true
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
}
},
{
"GUID": "8551e1",
"Name": "CardCustom",
"Transform": {
"posX": -3.95600033,
"posY": 1.59753942,
"posZ": -10.4412012,
"rotX": 359.919739,
"rotY": 270.003174,
"rotZ": 0.01683277,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "The Beginning of the End",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561800,
"SidewaysCard": false,
"CustomDeck": {
"5618": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069977170/62C83C9BC2FD8EA0AA1C2811D48E65B713310055/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1799726352069977459/163B51200BB0A0C5DA220A552BE4B751CBD59BD3/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a09177",
"Name": "Deck",
"Transform": {
"posX": -2.688627,
"posY": 1.61911714,
"posZ": -5.0468955,
"rotX": 359.919739,
"rotY": 269.9995,
"rotZ": 0.0168386735,
"scaleX": 0.714955747,
"scaleY": 1.0,
"scaleZ": 0.714955747
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": false,
"SidewaysCard": false,
"DeckIDs": [
561000,
266400,
266500
],
"CustomDeck": {
"5610": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959607213/4388D0853D52A04630B9E160F5751B78E29BFF6A/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006802976/06B170C813C208AD4632017E3DE296B1A6F0395F/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"2664": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959608037/B23B215AFE13664BDBF32F840970160D36183C5F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006803657/EA2DB6FDF271C05A9B21FA132BCE0A9C4BA6D7B6/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
},
"2665": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006804053/93FA908928325D2880124BCD2BF1036ECA488FE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959609277/9B95F590507195A9A5632F7A63257F2E3BF33414/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "69defb",
"Name": "CardCustom",
"Transform": {
"posX": -2.688514,
"posY": 1.59752035,
"posZ": -5.04690266,
"rotX": 359.918152,
"rotY": 269.9996,
"rotZ": 0.0243800972,
"scaleX": 0.714955747,
"scaleY": 1.0,
"scaleZ": 0.714955747
},
"Nickname": "Act 3a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 561000,
"SidewaysCard": false,
"CustomDeck": {
"5610": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959607213/4388D0853D52A04630B9E160F5751B78E29BFF6A/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006802976/06B170C813C208AD4632017E3DE296B1A6F0395F/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "1bcaec",
"Name": "CardCustom",
"Transform": {
"posX": -2.68847537,
"posY": 1.62784171,
"posZ": -5.048433,
"rotX": 359.8358,
"rotY": 270.000122,
"rotZ": 359.915436,
"scaleX": 0.714955747,
"scaleY": 1.0,
"scaleZ": 0.714955747
},
"Nickname": "Act 2a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 266400,
"SidewaysCard": false,
"CustomDeck": {
"2664": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959608037/B23B215AFE13664BDBF32F840970160D36183C5F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006803657/EA2DB6FDF271C05A9B21FA132BCE0A9C4BA6D7B6/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9ba0ff",
"Name": "CardCustom",
"Transform": {
"posX": -2.68853021,
"posY": 1.66215038,
"posZ": -5.04852152,
"rotX": 359.919342,
"rotY": 270.0004,
"rotZ": 0.0161252581,
"scaleX": 0.714955747,
"scaleY": 1.0,
"scaleZ": 0.714955747
},
"Nickname": "Act 1a",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 266500,
"SidewaysCard": false,
"CustomDeck": {
"2665": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1754685726006804053/93FA908928325D2880124BCD2BF1036ECA488FE8/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1648847093959609277/9B95F590507195A9A5632F7A63257F2E3BF33414/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
}
],
"AttachedDecals": [
{
"Transform": {
"posX": -0.0021877822,
"posY": -0.08963572,
"posZ": -0.00288731651,
"rotX": 270.0,
"rotY": 359.869568,
"rotZ": 0.0,
"scaleX": 2.00000215,
"scaleY": 2.00000238,
"scaleZ": 2.00000262
},
"CustomDecal": {
"Name": "dunwich_back",
"ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/",
"Size": 7.4
}
}
]
},
{
"GUID": "26c67a",
"Name": "Custom_Model",
"Transform": {
"posX": 0.5741889,
"posY": 1.62768066,
"posZ": -9.865729,
"rotX": 359.919739,
"rotY": 270.002,
"rotZ": 0.0168216769,
"scaleX": 0.5000004,
"scaleY": 0.5000004,
"scaleZ": 0.5000004
},
"Nickname": "Custom Data Helper",
"Description": "Include this in custom content for clue spawning!",
"GMNotes": "",
"ColorDiffuse": {
"r": 1.0,
"g": 1.0,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"CustomMesh": {
"MeshURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/",
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/254843371583187306/6844B833AD55B9A34095067B201B311E1348325F/",
"NormalURL": "",
"ColliderURL": "http://cloud-3.steamusercontent.com/ugc/943949966265929204/A38BB5D72419E6298385556D931877C0A1A55C17/",
"Convex": true,
"MaterialIndex": 2,
"TypeIndex": 0,
"CustomShader": {
"SpecularColor": {
"r": 0.7222887,
"g": 0.507659256,
"b": 0.339915335
},
"SpecularIntensity": 0.4,
"SpecularSharpness": 7.0,
"FresnelStrength": 0.0
},
"CastShadows": true
},
"LuaScript": "-- set true to enable debug logging\r\nDEBUG = false\r\n\r\nfunction log(message)\r\n if DEBUG then\r\n print(message)\r\n end\r\nend\r\n\r\n--[[\r\nKnown locations and clues. We check this to determine if we should\r\natttempt to spawn clues, first we look for <LOCATION_NAME>_<GUID> and if\r\nwe find nothing we look for <LOCATION_NAME>\r\nformat is [location_guid -> clueCount]\r\n]]\r\nLOCATIONS_DATA_JSON = [[\r\n{\r\n \"Grand Hall\": {\"type\": \"perPlayer\", \"value\": 1, \"clueSide\": \"front\"},\r\n \"Second Story Balcony\": {\"type\": \"perPlayer\", \"value\": 2, \"clueSide\": \"front\"},\r\n \"Dark Room\": {\"type\": \"fixed\", \"value\": 2, \"clueSide\": \"back\"},\r\n \"The Red Door\": {\"type\": \"perPlayer\", \"value\": 3, \"clueSide\": \"front\"},\n \"Engine Room\": {\"type\": \"fixed\", \"value\": 4, \"clueSide\": \"front\"},\n \"Control Room\": {\"type\": \"fixed\", \"value\": 3, \"clueSide\": \"front\"},\n \"Genetics Archive\": {\"type\": \"perPlayer\", \"value\": 1, \"clueSide\": \"front\"},\n \"Operation Theater\": {\"type\": \"perPlayer\", \"value\": 1, \"clueSide\": \"front\"},\n \"Weapon Development\": {\"type\": \"perPlayer\", \"value\": 2, \"clueSide\": \"front\"},\n \"Body Disposal\": {\"type\": \"perPlayer\", \"value\": 2, \"clueSide\": \"front\"}\r\r\n}\r\n]]\r\n\r\n\r\nPLAYER_CARD_DATA_JSON = [[\r\n{\r\n \"Arthur Lambert (Stalwart Companion)\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 3\r\n },\r\n \"Tool Belt (3)\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 4\r\n },\r\n \"Yithian Rifle\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 3\r\n },\r\n \"xxx\": {\r\n \"tokenType\": \"resource\",\r\n \"tokenCount\": 3\r\n }\r\n}\r\n]]\r\n\r\nHIDDEN_CARD_DATA = {\r\n \"Unpleasant Card (Doom)\",\r\n \"Unpleasant Card (Gloom)\",\r\n \"The Case of the Scarlet DOOOOOM!\"\r\n}\r\n\r\nLOCATIONS_DATA = JSON.decode(LOCATIONS_DATA_JSON)\r\nPLAYER_CARD_DATA = JSON.decode(PLAYER_CARD_DATA_JSON)\r\n\r\nfunction onload(save_state)\r\n local playArea = getObjectFromGUID('721ba2')\r\n playArea.call(\"updateLocations\", {self.getGUID()})\r\n local playerMatWhite = getObjectFromGUID('8b081b')\r\n playerMatWhite.call(\"updatePlayerCards\", {self.getGUID()})\r\n local playerMatOrange = getObjectFromGUID('bd0ff4')\r\n playerMatOrange.call(\"updatePlayerCards\", {self.getGUID()})\r\n local playerMatGreen = getObjectFromGUID('383d8b')\r\n playerMatGreen.call(\"updatePlayerCards\", {self.getGUID()})\r\n local playerMatRed = getObjectFromGUID('0840d5')\r\n playerMatRed.call(\"updatePlayerCards\", {self.getGUID()})\r\n local dataHelper = getObjectFromGUID('708279')\r\n dataHelper.call(\"updateHiddenCards\", {self.getGUID()})\r\nend\r\n",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "fc34bd",
"Name": "Bag",
"Transform": {
"posX": -10.4561014,
"posY": 1.0830822,
"posZ": 91.8885,
"rotX": 359.979156,
"rotY": 89.9725342,
"rotZ": 359.983215,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "Utility Memory Bag - Empty",
"Description": "By Directsun",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.121568017,
"g": 0.5294118,
"b": 1.0
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": false,
"Hands": false,
"MaterialIndex": -1,
"MeshIndex": -1,
"Bag": {
"Order": 0
},
"LuaScript": " -- Utility memory bag by Directsun\r\n-- Version 2.6.0\r\n-- Fork of Memory Bag 2.0 by MrStump\r\n\r\nfunction updateSave()\r\n local data_to_save = {[\"ml\"]=memoryList}\r\n saved_data = JSON.encode(data_to_save)\r\n self.script_state = saved_data\r\nend\r\n\r\nfunction combineMemoryFromBagsWithin()\r\n local bagObjList = self.getObjects()\r\n for _, bagObj in ipairs(bagObjList) do\r\n local data = bagObj.lua_script_state\r\n if data ~= nil then\r\n local j = JSON.decode(data)\r\n if j ~= nil and j.ml ~= nil then\r\n for guid, entry in pairs(j.ml) do\r\n memoryList[guid] = entry\r\n end\r\n end\r\n end\r\n end\r\nend\r\n\r\nfunction updateMemoryWithMoves()\r\n memoryList = memoryListBackup\r\n --get the first transposed object's coordinates\r\n local obj = getObjectFromGUID(moveGuid)\r\n\r\n -- p1 is where needs to go, p2 is where it was\r\n local refObjPos = memoryList[moveGuid].pos\r\n local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)\r\n local movedRotation = obj.getRotation()\r\n for guid, entry in pairs(memoryList) do\r\n memoryList[guid].pos.x = entry.pos.x - deltaPos.x\r\n memoryList[guid].pos.y = entry.pos.y - deltaPos.y\r\n memoryList[guid].pos.z = entry.pos.z - deltaPos.z\r\n -- memoryList[guid].rot.x = movedRotation.x\r\n -- memoryList[guid].rot.y = movedRotation.y\r\n -- memoryList[guid].rot.z = movedRotation.z\r\n end\r\n\r\n --theList[obj.getGUID()] = {\r\n -- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n -- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n -- lock=obj.getLock()\r\n --}\r\n moveList = {}\r\nend\r\n\r\nfunction onload(saved_data)\r\n fresh = true\r\n if saved_data ~= \"\" then\r\n local loaded_data = JSON.decode(saved_data)\r\n --Set up information off of loaded_data\r\n memoryList = loaded_data.ml\r\n else\r\n --Set up information for if there is no saved saved data\r\n memoryList = {}\r\n end\r\n\r\n moveList = {}\r\n moveGuid = nil\r\n\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n fresh = false\r\n createMemoryActionButtons()\r\n end\r\nend\r\n\r\n\r\n--Beginning Setup\r\n\r\n\r\n--Make setup button\r\nfunction createSetupButton()\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n--Triggered by Transpose button\r\nfunction buttonClick_transpose()\r\n moveGuid = nil\r\n broadcastToAll(\"Select one object and move it- all objects will move relative to the new location\", {0.75, 0.75, 1})\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n moveList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(true)\r\n createSetupActionButtons(true)\r\nend\r\n\r\n--Triggered by setup button,\r\nfunction buttonClick_setup()\r\n memoryListBackup = duplicateTable(memoryList)\r\n memoryList = {}\r\n self.clearButtons()\r\n createButtonsOnAllObjects(false)\r\n createSetupActionButtons(false)\r\nend\r\n\r\nfunction getAllObjectsInMemory()\r\n local objTable = {}\r\n local curObj = {}\r\n\r\n for guid in pairs(memoryListBackup) do\r\n curObj = getObjectFromGUID(guid)\r\n table.insert(objTable, curObj)\r\n end\r\n\r\n return objTable\r\n -- return getAllObjects()\r\nend\r\n\r\n--Creates selection buttons on objects\r\nfunction createButtonsOnAllObjects(move)\r\n buttonIndexMap = {}\r\n local howManyButtons = 0\r\n\r\n local objsToHaveButtons = {}\r\n if move == true then\r\n objsToHaveButtons = getAllObjectsInMemory()\r\n else\r\n objsToHaveButtons = getAllObjects()\r\n end\r\n\r\n for _, obj in ipairs(objsToHaveButtons) do\r\n if obj ~= self then\r\n --On a normal bag, the button positions aren't the same size as the bag.\r\n globalScaleFactor = 1.25 * 1/self.getScale().x\r\n --Super sweet math to set button positions\r\n local selfPos = self.getPosition()\r\n local objPos = obj.getPosition()\r\n local deltaPos = findOffsetDistance(selfPos, objPos, obj)\r\n local objPos = rotateLocalCoordinates(deltaPos, self)\r\n objPos.x = -objPos.x * globalScaleFactor\r\n objPos.y = objPos.y * globalScaleFactor\r\n objPos.z = objPos.z * globalScaleFactor\r\n --Workaround for custom PDFs\r\n if obj.Book then\r\n objPos.y = objPos.y + 0.5\r\n end\r\n --Offset rotation of bag\r\n local rot = self.getRotation()\r\n rot.y = -rot.y + 180\r\n --Create function\r\n local funcName = \"selectButton_\" .. howManyButtons\r\n local func = function() buttonClick_selection(obj, move) end\r\n local color = {0.75,0.25,0.25,0.6}\r\n local colorMove = {0,0,1,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.setVar(funcName, func)\r\n self.createButton({\r\n click_function=funcName, function_owner=self,\r\n position=objPos, rotation=rot, height=1000, width=1000,\r\n color=color,\r\n })\r\n buttonIndexMap[obj.getGUID()] = howManyButtons\r\n howManyButtons = howManyButtons + 1\r\n end\r\n end\r\nend\r\n\r\n--Creates submit and cancel buttons\r\nfunction createSetupActionButtons(move)\r\n self.createButton({\r\n label=\"Cancel\", click_function=\"buttonClick_cancel\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n self.createButton({\r\n label=\"Submit\", click_function=\"buttonClick_submit\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if move == false then\r\n self.createButton({\r\n label=\"Add\", click_function=\"buttonClick_add\", function_owner=self,\r\n position={0,0.3,-3.6}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.25,1,0.25}\r\n })\r\n\r\n self.createButton({\r\n label=\"Selection\", click_function=\"editDragSelection\", function_owner=self,\r\n position={0,0.3,2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n\r\n if fresh == false then\r\n self.createButton({\r\n label=\"Set New\", click_function=\"buttonClick_setNew\", function_owner=self,\r\n position={0,0.3,-4.4}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\n self.createButton({\r\n label=\"Remove\", click_function=\"buttonClick_remove\", function_owner=self,\r\n position={0,0.3,-5.2}, rotation={0,180,0}, height=350, width=1100,\r\n font_size=250, color={0,0,0}, font_color={1,0.25,0.25}\r\n })\r\n end\r\n end\r\n\r\n self.createButton({\r\n label=\"Reset\", click_function=\"buttonClick_reset\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\nend\r\n\r\n\r\n--During Setup\r\n\r\n\r\n--Checks or unchecks buttons\r\nfunction buttonClick_selection(obj, move)\r\n local index = buttonIndexMap[obj.getGUID()]\r\n local colorMove = {0,0,1,0.6}\r\n local color = {0,1,0,0.6}\r\n\r\n previousGuid = selectedGuid\r\n selectedGuid = obj.getGUID()\r\n\r\n theList = memoryList\r\n if move == true then\r\n theList = moveList\r\n if previousGuid ~= nil and previousGuid ~= selectedGuid then\r\n local prevObj = getObjectFromGUID(previousGuid)\r\n prevObj.highlightOff()\r\n self.editButton({index=previousIndex, color=colorMove})\r\n theList[previousGuid] = nil\r\n end\r\n previousIndex = index\r\n end\r\n\r\n if theList[selectedGuid] == nil then\r\n self.editButton({index=index, color=color})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n theList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n else\r\n color = {0.75,0.25,0.25,0.6}\r\n if move == true then\r\n color = colorMove\r\n end\r\n self.editButton({index=index, color=color})\r\n theList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\nfunction editDragSelection(bagObj, player, remove)\r\n local selectedObjs = Player[player].getSelectedObjects()\r\n if not remove then\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n --Ignore if already in the memory list, or does not have a button\r\n if index and not memoryList[obj.getGUID()] then\r\n self.editButton({index=index, color={0,1,0,0.6}})\r\n --Adding pos/rot to memory table\r\n local pos, rot = obj.getPosition(), obj.getRotation()\r\n --I need to add it like this or it won't save due to indexing issue\r\n memoryList[obj.getGUID()] = {\r\n pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},\r\n rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},\r\n lock=obj.getLock()\r\n }\r\n obj.highlightOn({0,1,0})\r\n end\r\n end\r\n else\r\n for _, obj in ipairs(selectedObjs) do\r\n local index = buttonIndexMap[obj.getGUID()]\r\n if index and memoryList[obj.getGUID()] then\r\n color = {0.75,0.25,0.25,0.6}\r\n self.editButton({index=index, color=color})\r\n memoryList[obj.getGUID()] = nil\r\n obj.highlightOff()\r\n end\r\n end\r\n end\r\nend\r\n\r\n--Cancels selection process\r\nfunction buttonClick_cancel()\r\n memoryList = memoryListBackup\r\n moveList = {}\r\n self.clearButtons()\r\n if next(memoryList) == nil then\r\n createSetupButton()\r\n else\r\n createMemoryActionButtons()\r\n end\r\n removeAllHighlights()\r\n broadcastToAll(\"Selection Canceled\", {1,1,1})\r\n moveGuid = nil\r\nend\r\n\r\n--Saves selections\r\nfunction buttonClick_submit()\r\n fresh = false\r\n if next(moveList) ~= nil then\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n end\r\n if memoryListBackup[moveGuid] == nil then\r\n broadcastToAll(\"Item selected for moving is not already in memory\", {1, 0.25, 0.25})\r\n else\r\n broadcastToAll(\"Moving all items in memory relative to new objects position!\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(moveList) do\r\n moveGuid = guid\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n updateMemoryWithMoves()\r\n updateSave()\r\n buttonClick_place()\r\n end\r\n elseif next(memoryList) == nil and moveGuid == nil then\r\n memoryList = memoryListBackup\r\n broadcastToAll(\"No selections made.\", {0.75, 0.25, 0.25})\r\n end\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\n moveGuid = nil\r\nend\r\n\r\nfunction combineTables(first_table, second_table)\r\n for k,v in pairs(second_table) do first_table[k] = v end\r\nend\r\n\r\nfunction buttonClick_add()\r\n fresh = false\r\n combineTables(memoryList, memoryListBackup)\r\n broadcastToAll(\"Adding internal bags and selections to existing memory\", {0.25, 0.75, 0.25})\r\n combineMemoryFromBagsWithin()\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_remove()\r\n broadcastToAll(\"Removing Selected Entries From Memory\", {1.0, 0.25, 0.25})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for guid in pairs(memoryList) do\r\n count = count + 1\r\n memoryListBackup[guid] = nil\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then obj.highlightOff() end\r\n end\r\n broadcastToAll(count..\" Objects Removed\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\nfunction buttonClick_setNew()\r\n broadcastToAll(\"Setting new position relative to items in memory\", {0.75, 0.75, 1})\r\n self.clearButtons()\r\n createMemoryActionButtons()\r\n local count = 0\r\n for _, obj in ipairs(getAllObjects()) do\r\n guid = obj.guid\r\n if memoryListBackup[guid] ~= nil then\r\n count = count + 1\r\n memoryListBackup[guid].pos = obj.getPosition()\r\n memoryListBackup[guid].rot = obj.getRotation()\r\n memoryListBackup[guid].lock = obj.getLock()\r\n end\r\n end\r\n broadcastToAll(count..\" Objects Saved\", {1,1,1})\r\n memoryList = memoryListBackup\r\n updateSave()\r\nend\r\n\r\n--Resets bag to starting status\r\nfunction buttonClick_reset()\r\n fresh = true\r\n memoryList = {}\r\n self.clearButtons()\r\n createSetupButton()\r\n removeAllHighlights()\r\n broadcastToAll(\"Tool Reset\", {1,1,1})\r\n updateSave()\r\nend\r\n\r\n\r\n--After Setup\r\n\r\n\r\n--Creates recall and place buttons\r\nfunction createMemoryActionButtons()\r\n self.createButton({\r\n label=\"Place\", click_function=\"buttonClick_place\", function_owner=self,\r\n position={0,0.3,-2}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Recall\", click_function=\"buttonClick_recall\", function_owner=self,\r\n position={0,0.3,-2.8}, rotation={0,180,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Setup\", click_function=\"buttonClick_setup\", function_owner=self,\r\n position={-2,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={1,1,1}\r\n })\r\n self.createButton({\r\n label=\"Move\", click_function=\"buttonClick_transpose\", function_owner=self,\r\n position={-2.8,0.3,0}, rotation={0,270,0}, height=350, width=800,\r\n font_size=250, color={0,0,0}, font_color={0.75,0.75,1}\r\n })\r\nend\r\n\r\n--Sends objects from bag/table to their saved position/rotation\r\nfunction buttonClick_place()\r\n local bagObjList = self.getObjects()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n --If obj is out on the table, move it to the saved pos/rot\r\n if obj ~= nil then\r\n obj.setPositionSmooth(entry.pos)\r\n obj.setRotationSmooth(entry.rot)\r\n obj.setLock(entry.lock)\r\n else\r\n --If obj is inside of the bag\r\n for _, bagObj in ipairs(bagObjList) do\r\n if bagObj.guid == guid then\r\n local item = self.takeObject({\r\n guid=guid, position=entry.pos, rotation=entry.rot, smooth=false\r\n })\r\n item.setLock(entry.lock)\r\n break\r\n end\r\n end\r\n end\r\n end\r\n broadcastToAll(\"Objects Placed\", {1,1,1})\r\nend\r\n\r\n--Recalls objects to bag from table\r\nfunction buttonClick_recall()\r\n for guid, entry in pairs(memoryList) do\r\n local obj = getObjectFromGUID(guid)\r\n if obj ~= nil then self.putObject(obj) end\r\n end\r\n broadcastToAll(\"Objects Recalled\", {1,1,1})\r\nend\r\n\r\n\r\n--Utility functions\r\n\r\n\r\n--Find delta (difference) between 2 x/y/z coordinates\r\nfunction findOffsetDistance(p1, p2, obj)\r\n local yOffset = 0\r\n if obj ~= nil then\r\n local bounds = obj.getBounds()\r\n yOffset = (bounds.size.y - bounds.offset.y)\r\n end\r\n local deltaPos = {}\r\n deltaPos.x = (p2.x-p1.x)\r\n deltaPos.y = (p2.y-p1.y) + yOffset\r\n deltaPos.z = (p2.z-p1.z)\r\n return deltaPos\r\nend\r\n\r\n--Used to rotate a set of coordinates by an angle\r\nfunction rotateLocalCoordinates(desiredPos, obj)\r\n local objPos, objRot = obj.getPosition(), obj.getRotation()\r\n local angle = math.rad(objRot.y)\r\n local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)\r\n local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)\r\n --return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\nfunction rotateMyCoordinates(desiredPos, obj)\r\n local angle = math.rad(obj.getRotation().y)\r\n local x = desiredPos.x * math.sin(angle)\r\n local z = desiredPos.z * math.cos(angle)\r\n return {x=x, y=desiredPos.y, z=z}\r\nend\r\n\r\n--Coroutine delay, in seconds\r\nfunction wait(time)\r\n local start = os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\nend\r\n\r\n--Duplicates a table (needed to prevent it making reference to the same objects)\r\nfunction duplicateTable(oldTable)\r\n local newTable = {}\r\n for k, v in pairs(oldTable) do\r\n newTable[k] = v\r\n end\r\n return newTable\r\nend\r\n\r\n--Moves scripted highlight from all objects\r\nfunction removeAllHighlights()\r\n for _, obj in ipairs(getAllObjects()) do\r\n obj.highlightOff()\r\n end\r\nend\r\n\r\n--Round number (num) to the Nth decimal (dec)\r\nfunction round(num, dec)\r\n local mult = 10^(dec or 0)\r\n return math.floor(num * mult + 0.5) / mult\r\nend\r\n",
"LuaScriptState": "{\"ml\":{\"263977\":{\"lock\":false,\"pos\":{\"x\":-6.2219,\"y\":1.2806,\"z\":82.8428},\"rot\":{\"x\":0.0208,\"y\":269.9883,\"z\":0.0168}},\"58834b\":{\"lock\":false,\"pos\":{\"x\":-2.6385,\"y\":1.2826,\"z\":85.1428},\"rot\":{\"x\":0.0208,\"y\":270.0191,\"z\":0.0168}},\"7f8bca\":{\"lock\":false,\"pos\":{\"x\":1.0272,\"y\":1.2859,\"z\":92.0312},\"rot\":{\"x\":0.0208,\"y\":269.9765,\"z\":0.0168}},\"85368d\":{\"lock\":false,\"pos\":{\"x\":-2.6385,\"y\":1.2819,\"z\":82.8428},\"rot\":{\"x\":0.0208,\"y\":270.016,\"z\":0.0168}},\"8f537c\":{\"lock\":false,\"pos\":{\"x\":-6.2214,\"y\":1.2833,\"z\":92.0428},\"rot\":{\"x\":0.0208,\"y\":269.9827,\"z\":0.0168}},\"9647b9\":{\"lock\":false,\"pos\":{\"x\":1.5617,\"y\":1.2853,\"z\":89.1174},\"rot\":{\"x\":0.0208,\"y\":270.0218,\"z\":0.0168}},\"9b0fc0\":{\"lock\":false,\"pos\":{\"x\":-6.2219,\"y\":1.282,\"z\":87.4428},\"rot\":{\"x\":0.0208,\"y\":269.9956,\"z\":0.0168}},\"a3a545\":{\"lock\":false,\"pos\":{\"x\":-2.6385,\"y\":1.2833,\"z\":87.4428},\"rot\":{\"x\":0.0208,\"y\":269.9995,\"z\":0.0168}},\"a8dc90\":{\"lock\":false,\"pos\":{\"x\":-2.6385,\"y\":1.2812,\"z\":80.5428},\"rot\":{\"x\":0.0208,\"y\":269.9988,\"z\":0.0168}},\"ac52e4\":{\"lock\":false,\"pos\":{\"x\":1.5617,\"y\":1.2853,\"z\":89.1174},\"rot\":{\"x\":0.0208,\"y\":270.0218,\"z\":0.0168}},\"ad4856\":{\"lock\":false,\"pos\":{\"x\":-2.6385,\"y\":1.2839,\"z\":89.7428},\"rot\":{\"x\":0.0208,\"y\":269.9921,\"z\":0.0168}},\"b02d11\":{\"lock\":false,\"pos\":{\"x\":-6.2214,\"y\":1.2826,\"z\":89.7428},\"rot\":{\"x\":0.0208,\"y\":270.0052,\"z\":0.0168}},\"d36695\":{\"lock\":false,\"pos\":{\"x\":-2.6385,\"y\":1.2846,\"z\":92.0428},\"rot\":{\"x\":0.0208,\"y\":269.9811,\"z\":0.0168}},\"de744e\":{\"lock\":false,\"pos\":{\"x\":-6.2219,\"y\":1.2813,\"z\":85.1428},\"rot\":{\"x\":0.0208,\"y\":269.9753,\"z\":0.0168}}}}",
"XmlUI": "",
"ContainedObjects": [
{
"GUID": "8f537c",
"Name": "CardCustom",
"Transform": {
"posX": -6.2214,
"posY": 1.28330457,
"posZ": 92.0428,
"rotX": 0.0208135843,
"rotY": 269.982727,
"rotZ": 0.0167647749,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563900,
"SidewaysCard": false,
"CustomDeck": {
"5639": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289439337/8DA70CB9E67F1E8445B61C2069E6D58FA72F308B/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "b02d11",
"Name": "CardCustom",
"Transform": {
"posX": -6.2214,
"posY": 1.2826314,
"posZ": 89.7428,
"rotX": 0.0208069067,
"rotY": 270.0052,
"rotZ": 0.0167731,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563800,
"SidewaysCard": false,
"CustomDeck": {
"5638": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289437140/15A220205BD7CB44AFAF2B53AD70B1A97B0A1948/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "9b0fc0",
"Name": "CardCustom",
"Transform": {
"posX": -6.2219,
"posY": 1.2819581,
"posZ": 87.4428,
"rotX": 0.0208097361,
"rotY": 269.9956,
"rotZ": 0.0167694632,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563700,
"SidewaysCard": false,
"CustomDeck": {
"5637": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289430968/4385ABA2FFEB704F547BA5C22703259B1EB91AD5/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "de744e",
"Name": "CardCustom",
"Transform": {
"posX": -6.2219,
"posY": 1.28128481,
"posZ": 85.1428,
"rotX": 0.0208157115,
"rotY": 269.9753,
"rotZ": 0.0167621169,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563500,
"SidewaysCard": false,
"CustomDeck": {
"5635": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289426812/D6239EDFE88A7BFC16342CBE9184BF23EA7D2315/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "263977",
"Name": "CardCustom",
"Transform": {
"posX": -6.2219,
"posY": 1.28061152,
"posZ": 82.8428,
"rotX": 0.02081189,
"rotY": 269.988342,
"rotZ": 0.0167668182,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563000,
"SidewaysCard": false,
"CustomDeck": {
"5630": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289419885/9E36317AEEAA972754B127CB4A08FEBFCD18580C/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a8dc90",
"Name": "CardCustom",
"Transform": {
"posX": -2.6385,
"posY": 1.28123963,
"posZ": 80.5428,
"rotX": 0.0208087843,
"rotY": 269.9988,
"rotZ": 0.0167706944,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562800,
"SidewaysCard": false,
"CustomDeck": {
"5628": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289415459/F8944EC75F4DA72062C947EB26EA3552DE5E79A6/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "85368d",
"Name": "CardCustom",
"Transform": {
"posX": -2.63849974,
"posY": 1.28191292,
"posZ": 82.8428,
"rotX": 0.02080393,
"rotY": 270.016,
"rotZ": 0.0167767629,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562900,
"SidewaysCard": false,
"CustomDeck": {
"5629": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289417051/0B6DA40EA8B7865520DCA17DADCCF8A012A22ED9/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "58834b",
"Name": "CardCustom",
"Transform": {
"posX": -2.63850045,
"posY": 1.28258622,
"posZ": 85.1428,
"rotX": 0.0208029374,
"rotY": 270.019135,
"rotZ": 0.0167778768,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 562700,
"SidewaysCard": false,
"CustomDeck": {
"5627": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289415049/8A66CBE6AFD0B298B655339C5AC6AD17CF8BF983/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "a3a545",
"Name": "CardCustom",
"Transform": {
"posX": -2.63849926,
"posY": 1.28325951,
"posZ": 87.4428,
"rotX": 0.0208085775,
"rotY": 269.9995,
"rotZ": 0.0167709384,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563400,
"SidewaysCard": false,
"CustomDeck": {
"5634": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289425235/44DF2026280B4B0562331BCE7AEC40E9CE883B0C/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "ad4856",
"Name": "CardCustom",
"Transform": {
"posX": -2.6385,
"posY": 1.28393269,
"posZ": 89.7428,
"rotX": 0.0208108034,
"rotY": 269.992126,
"rotZ": 0.0167683046,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 564000,
"SidewaysCard": false,
"CustomDeck": {
"5640": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726676784580192/990DBF1C384F0A940CFE18EF546270158E801294/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "d36695",
"Name": "CardCustom",
"Transform": {
"posX": -2.63849974,
"posY": 1.28460586,
"posZ": 92.0428,
"rotX": 0.0208140276,
"rotY": 269.9811,
"rotZ": 0.0167644024,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563200,
"SidewaysCard": false,
"CustomDeck": {
"5632": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289422379/1C21414BB97C2388185DD8578410636E66C1F39F/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
},
{
"GUID": "7f8bca",
"Name": "CardCustom",
"Transform": {
"posX": 1.0272,
"posY": 1.28593373,
"posZ": 92.0312,
"rotX": 0.020815447,
"rotY": 269.976532,
"rotZ": 0.0167628415,
"scaleX": 1.0,
"scaleY": 1.0,
"scaleZ": 1.0
},
"Nickname": "",
"Description": "",
"GMNotes": "",
"ColorDiffuse": {
"r": 0.713235259,
"g": 0.713235259,
"b": 0.713235259
},
"LayoutGroupSortIndex": 0,
"Value": 0,
"Locked": false,
"Grid": true,
"Snap": true,
"IgnoreFoW": false,
"MeasureMovement": false,
"DragSelectable": true,
"Autoraise": true,
"Sticky": true,
"Tooltip": true,
"GridProjection": false,
"HideWhenFaceDown": true,
"Hands": true,
"CardID": 563300,
"SidewaysCard": false,
"CustomDeck": {
"5633": {
"FaceURL": "http://cloud-3.steamusercontent.com/ugc/1799726517289423991/1F7C39B269484D5A545282702C1F1F1A6165F961/",
"BackURL": "http://cloud-3.steamusercontent.com/ugc/1036337557497090386/B1BF31EBC5D92EC3A51B6D3B56ABFB232D2636C5/",
"NumWidth": 1,
"NumHeight": 1,
"BackIsHidden": true,
"UniqueBack": false,
"Type": 0
}
},
"LuaScript": "",
"LuaScriptState": "",
"XmlUI": ""
}
]
}
]
}