{ "SaveName": "Brass: Lancashire", "EpochTime": 1621886831, "Date": "5/24/2021 4:07:11 PM", "VersionNumber": "v13.1.1", "GameMode": "Brass: Lancashire", "GameType": "Game", "GameComplexity": "Medium Complexity", "PlayingTime": [ 0, 0 ], "PlayerCounts": [ 2, 4 ], "Tags": [], "Gravity": 0.5, "PlayArea": 0.5, "Table": "Table_None", "Sky": "Sky_Museum", "SkyURL": "http://cloud-3.steamusercontent.com/ugc/987863257458474338/EEF2FF28224A83EB29EC7D5B3CA728782F1554FC/", "Note": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSee notebook for information.", "TabStates": { "0": { "title": "Information", "body": "Welcome! Once everyone is seated, press either of the “Start Game” buttons to start.\n\nThe game gives chances to review and make correction at critical times:\n- Income only happens when “Start the Next Round” and “Start the Rail Era” are clicked.\n- Scoring only happens when “Score the Canal Era” is clicked.\n- Clearing the board of links and industries only happens when “Start the Rail Era” is clicked.\n\nInstructions:\n- Only use the “+#” buttons when receiving money. Don’t use them when spending.\n- Only use the “-#” buttons when spending money.\n- When taking the Double Build action, simply place a card in each discard pile as normal.\n\nThe script is largely stateless. This means you can change/correct just about everything in the game, including:\n- Available money\n- Money spent\n- Links and industries\n- Cards\n- Income, score and cotton distant market markers\n- Coal and iron markets\n- Distant market tiles\n\nYou can even change the turn order token. If this causes a player to be placed before the current player, perform the turns as it there was no scripting until it reaches the indicated player’s turn.\n\nThe script supports saving and reverting time.\n\nThe script is very tolerant of people dropping. The host and promoted players can click the game-advancing button even when it’s not their turn.\n\nThe value of links are updated with every click of the button.\n\n“/execute start(n)” in the chat will start the game with missing players. (Use a number of players instead of “n”.)\n", "color": "Grey", "visibleColor": { "r": 0.5, "g": 0.5, "b": 0.5 }, "id": 0 }, "12": { "title": "Change Log", "body": "[2022-02-19 Kinithin]\n- Now uses my Steam Cloud for hosting exclusively (except for the rules).\n\n[2022-01-22 Kinithin]\n- Moved off of pastebin for hosting.\n- Fix misspelling of \"paid\". (Credit: Venemo)\n\n[2021-05-24 Kinithin]\n- Now displays a score board at the end of each era.\n- Now stores the game's result as CSV, TSV and JSON in the Notebook at end of game.\n- Added checks that canals and railways are only used during the appropriate era.\n- Made it so objects only snap to positions appropriate for the object.\n- Pulses of highlights now smoother.\n- Fixed small problems with minimizing and unminimizing the control panel.\n\n[2021-05-03 Kinithin]\n- New hosting for wooden cube resources.\n\n[2021-04-09 Kinithin]\n- Fixed a bug preventing the rail era from being entered with four players.\n- Silenced the harmless \"Undeclared write to spawned_object\" warning.\n\n[2021-01-12 Kinithin]\n- Restored the ability to save (and rewind) games. This was broken by the previous release.\n- Worked around a bug in TTS that could corrupt this module’s state.\n- Updated to the latest rule book.\n- Sir Henry Bessemer no longer leans so far back.\n\n[2021-01-03 Kinithin]\n- The game was disabling the loan button one round too soon.\n- The game now checks for updates and advises the players where to get the newest version.\n- The game-advancing button now shows as disabled when the game is busy and when in cool-down mode.\n- Sound is cut if the game-advancing button is pressed while sound is still playing.\n\n[2020-12-21 Kinithin]\n- Fixed a (basically harmless) error that would occur every 10s a player had a color other than those used by the mod.\n\n[2020-12-19 Kinithin]\n- Initial version. Based on the Brass: Lancashire assets by Draxous and the Brass: Birmingham code by Kinithin. Thanks for Eldin’s help with the model for the distant cotton market.\n", "color": "Grey", "visibleColor": { "r": 0.5, "g": 0.5, "b": 0.5 }, "id": 12 }, "13": { "title": "Orange", "body": "", "color": "Orange", "visibleColor": { "r": 0.956, "g": 0.392, "b": 0.113 }, "id": 13 }, "14": { "title": "Purple", "body": "", "color": "Purple", "visibleColor": { "r": 0.627, "g": 0.125, "b": 0.941 }, "id": 14 }, "15": { "title": "Teal", "body": "", "color": "Teal", "visibleColor": { "r": 0.129, "g": 0.694, "b": 0.607 }, "id": 15 }, "16": { "title": "Yellow", "body": "", "color": "Yellow", "visibleColor": { "r": 0.905, "g": 0.898, "b": 0.172 }, "id": 16 } }, "Grid": { "Type": 0, "Lines": false, "Color": { "r": 1.0, "g": 1.0, "b": 1.0 }, "Opacity": 0.251723915, "ThickLines": false, "Snapping": false, "Offset": false, "BothSnapping": true, "xSize": 1.0, "ySize": 1.0, "PosOffset": { "x": 0.0, "y": 1.0, "z": 0.0 } }, "Lighting": { "LightIntensity": 0.62, "LightColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "AmbientIntensity": 0.5959997, "AmbientType": 1, "AmbientSkyColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "AmbientEquatorColor": { "r": 0.745806038, "g": 0.7040451, "b": 0.768292665 }, "AmbientGroundColor": { "r": 0.427450985, "g": 0.3882353, "b": 0.4509804 }, "ReflectionIntensity": 0.307999849, "LutIndex": 0, "LutContribution": 0.600000262, "LutURL": "" }, "Hands": { "Enable": true, "DisableUnused": false, "Hiding": 0 }, "ComponentTags": { "labels": [ { "displayed": "turn_order", "normalized": "turn_order" }, { "displayed": "link_canal", "normalized": "link_canal" }, { "displayed": "link_rail", "normalized": "link_rail" }, { "displayed": "vp_marker", "normalized": "vp_marker" }, { "displayed": "income_marker", "normalized": "income_marker" }, { "displayed": "coal", "normalized": "coal" }, { "displayed": "iron", "normalized": "iron" }, { "displayed": "cotton", "normalized": "cotton" }, { "displayed": "yellow_cotton_mill_1", "normalized": "yellow_cotton_mill_1" }, { "displayed": "yellow_cotton_mill_2", "normalized": "yellow_cotton_mill_2" }, { "displayed": "yellow_cotton_mill_3", "normalized": "yellow_cotton_mill_3" }, { "displayed": "yellow_cotton_mill_4", "normalized": "yellow_cotton_mill_4" }, { "displayed": "yellow_port_1", "normalized": "yellow_port_1" }, { "displayed": "yellow_port_2", "normalized": "yellow_port_2" }, { "displayed": "yellow_port_3", "normalized": "yellow_port_3" }, { "displayed": "yellow_shipyard_pre", "normalized": "yellow_shipyard_pre" }, { "displayed": "yellow_port_4", "normalized": "yellow_port_4" }, { "displayed": "yellow_shipyard_1", "normalized": "yellow_shipyard_1" }, { "displayed": "yellow_shipyard_2", "normalized": "yellow_shipyard_2" }, { "displayed": "yellow_iron_works_1", "normalized": "yellow_iron_works_1" }, { "displayed": "yellow_iron_works_2", "normalized": "yellow_iron_works_2" }, { "displayed": "yellow_iron_works_3", "normalized": "yellow_iron_works_3" }, { "displayed": "yellow_iron_works_4", "normalized": "yellow_iron_works_4" }, { "displayed": "yellow_coal_mine_1", "normalized": "yellow_coal_mine_1" }, { "displayed": "yellow_coal_mine_2", "normalized": "yellow_coal_mine_2" }, { "displayed": "yellow_coal_mine_3", "normalized": "yellow_coal_mine_3" }, { "displayed": "yellow_coal_mine_4", "normalized": "yellow_coal_mine_4" }, { "displayed": "teal_cotton_mill_1", "normalized": "teal_cotton_mill_1" }, { "displayed": "teal_cotton_mill_2", "normalized": "teal_cotton_mill_2" }, { "displayed": "teal_cotton_mill_3", "normalized": "teal_cotton_mill_3" }, { "displayed": "teal_cotton_mill_4", "normalized": "teal_cotton_mill_4" }, { "displayed": "teal_port_1", "normalized": "teal_port_1" }, { "displayed": "teal_port_2", "normalized": "teal_port_2" }, { "displayed": "teal_port_3", "normalized": "teal_port_3" }, { "displayed": "teal_port_4", "normalized": "teal_port_4" }, { "displayed": "teal_shipyard_pre", "normalized": "teal_shipyard_pre" }, { "displayed": "teal_shipyard_1", "normalized": "teal_shipyard_1" }, { "displayed": "teal_shipyard_2", "normalized": "teal_shipyard_2" }, { "displayed": "teal_iron_works_1", "normalized": "teal_iron_works_1" }, { "displayed": "teal_iron_works_2", "normalized": "teal_iron_works_2" }, { "displayed": "teal_iron_works_3", "normalized": "teal_iron_works_3" }, { "displayed": "teal_iron_works_4", "normalized": "teal_iron_works_4" }, { "displayed": "teal_coal_mine_1", "normalized": "teal_coal_mine_1" }, { "displayed": "teal_coal_mine_2", "normalized": "teal_coal_mine_2" }, { "displayed": "teal_coal_mine_3", "normalized": "teal_coal_mine_3" }, { "displayed": "teal_coal_mine_4", "normalized": "teal_coal_mine_4" }, { "displayed": "purple_cotton_mill_1", "normalized": "purple_cotton_mill_1" }, { "displayed": "purple_cotton_mill_2", "normalized": "purple_cotton_mill_2" }, { "displayed": "purple_cotton_mill_3", "normalized": "purple_cotton_mill_3" }, { "displayed": "purple_cotton_mill_4", "normalized": "purple_cotton_mill_4" }, { "displayed": "purple_port_1", "normalized": "purple_port_1" }, { "displayed": "purple_port_2", "normalized": "purple_port_2" }, { "displayed": "purple_port_3", "normalized": "purple_port_3" }, { "displayed": "purple_port_4", "normalized": "purple_port_4" }, { "displayed": "purple_shipyard_pre", "normalized": "purple_shipyard_pre" }, { "displayed": "purple_shipyard_1", "normalized": "purple_shipyard_1" }, { "displayed": "purple_shipyard_2", "normalized": "purple_shipyard_2" }, { "displayed": "purple_iron_works_1", "normalized": "purple_iron_works_1" }, { "displayed": "purple_iron_works_2", "normalized": "purple_iron_works_2" }, { "displayed": "purple_iron_works_3", "normalized": "purple_iron_works_3" }, { "displayed": "purple_iron_works_4", "normalized": "purple_iron_works_4" }, { "displayed": "purple_coal_mine_1", "normalized": "purple_coal_mine_1" }, { "displayed": "purple_coal_mine_2", "normalized": "purple_coal_mine_2" }, { "displayed": "purple_coal_mine_3", "normalized": "purple_coal_mine_3" }, { "displayed": "purple_coal_mine_4", "normalized": "purple_coal_mine_4" }, { "displayed": "orange_cotton_mill_1", "normalized": "orange_cotton_mill_1" }, { "displayed": "orange_cotton_mill_2", "normalized": "orange_cotton_mill_2" }, { "displayed": "orange_cotton_mill_3", "normalized": "orange_cotton_mill_3" }, { "displayed": "orange_cotton_mill_4", "normalized": "orange_cotton_mill_4" }, { "displayed": "orange_port_1", "normalized": "orange_port_1" }, { "displayed": "orange_port_2", "normalized": "orange_port_2" }, { "displayed": "orange_port_3", "normalized": "orange_port_3" }, { "displayed": "orange_port_4", "normalized": "orange_port_4" }, { "displayed": "orange_shipyard_pre", "normalized": "orange_shipyard_pre" }, { "displayed": "orange_shipyard_1", "normalized": "orange_shipyard_1" }, { "displayed": "orange_shipyard_2", "normalized": "orange_shipyard_2" }, { "displayed": "orange_iron_works_1", "normalized": "orange_iron_works_1" }, { "displayed": "orange_iron_works_2", "normalized": "orange_iron_works_2" }, { "displayed": "orange_iron_works_3", "normalized": "orange_iron_works_3" }, { "displayed": "orange_iron_works_4", "normalized": "orange_iron_works_4" }, { "displayed": "orange_coal_mine_1", "normalized": "orange_coal_mine_1" }, { "displayed": "orange_coal_mine_2", "normalized": "orange_coal_mine_2" }, { "displayed": "orange_coal_mine_3", "normalized": "orange_coal_mine_3" }, { "displayed": "orange_coal_mine_4", "normalized": "orange_coal_mine_4" }, { "displayed": "cotton_mill", "normalized": "cotton_mill" }, { "displayed": "port", "normalized": "port" }, { "displayed": "shipyard", "normalized": "shipyard" }, { "displayed": "iron_works", "normalized": "iron_works" }, { "displayed": "coal_mine", "normalized": "coal_mine" }, { "displayed": "distant_market", "normalized": "distant_market" } ] }, "Turns": { "Enable": false, "Type": 1, "TurnOrder": [ "Purple", "Teal", "Orange", "Yellow" ], "Reverse": false, "SkipEmpty": false, "DisableInteractions": false, "PassTurns": false, "TurnColor": "" }, "CameraStates": [ { "Position": { "x": 0.0, "y": -2.5, "z": 0.0 }, "Rotation": { "x": 65.0000153, "y": 0.0471068434, "z": 0.0 }, "Distance": 40.4720154, "Zoomed": false, "AbsolutePosition": { "x": -0.0140625583, "y": 34.1801033, "z": -17.1042061 } }, null, null, null, null, null, null, null, null, null ], "DecalPallet": [], "LuaScript": "-- Bundled by luabundle {\"version\":\"1.6.0\"}\nlocal __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = (function(superRequire)\n\tlocal loadingPlaceholder = {[{}] = true}\n\n\tlocal register\n\tlocal modules = {}\n\n\tlocal require\n\tlocal loaded = {}\n\n\tregister = function(name, body)\n\t\tif not modules[name] then\n\t\t\tmodules[name] = body\n\t\tend\n\tend\n\n\trequire = function(name)\n\t\tlocal loadedModule = loaded[name]\n\n\t\tif loadedModule then\n\t\t\tif loadedModule == loadingPlaceholder then\n\t\t\t\treturn nil\n\t\t\tend\n\t\telse\n\t\t\tif not modules[name] then\n\t\t\t\tif not superRequire then\n\t\t\t\t\tlocal identifier = type(name) == 'string' and '\\\"' .. name .. '\\\"' or tostring(name)\n\t\t\t\t\terror('Tried to require ' .. identifier .. ', but no such module has been registered')\n\t\t\t\telse\n\t\t\t\t\treturn superRequire(name)\n\t\t\t\tend\n\t\t\tend\n\n\t\t\tloaded[name] = loadingPlaceholder\n\t\t\tloadedModule = modules[name](require, loaded, register, modules)\n\t\t\tloaded[name] = loadedModule\n\t\tend\n\n\t\treturn loadedModule\n\tend\n\n\treturn require, loaded, register, modules\nend)(nil)\n__bundle_register(\"__root\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\n-- Brass: Lancashire\n-- Quasi-stateless scripted version.\n\n-- ----------------------------------------\n-- Debugging commands.\n\n-- To start a game with insufficient players, use one of the following\n-- /execute start(2)\n-- /execute start(3)\n-- /execute start(4)\n\n-- To make simple to step through turns quickly when debuging, use the following:\n-- /execute start({ min_players = 2, skip_discard_check = true, cool_down = 0 })\n-- This also reduces the eras to one round each:\n-- /execute start({ min_players = 2, skip_discard_check = true, cool_down = 0, short = true })\n\n-- ================================================================================\n\ngame = \"Lancashire\"\ndebug = true\ndevel = false\n\n----#include mods/Brass/lib/Global\ndebug = not not debug\r\ndevel = not not devel\r\n\r\nlocal TableLock = require(\"kintastic/lib/TableLock\")\r\nTableLock.on_violation = ( debug or devel ) and TableLock.announce_violation or TableLock.ignore_violation\r\nTableLock.lock(_G)\r\nTableLock.declare_atom_symbols()\r\n\r\nlocal Const = require(\"kintastic/lib/Const\")\r\nConst.on_violation = ( debug or devel ) and Const.announce_violation or Const.ignore_violation\r\n\r\nif debug then require(\"kintastic/lib/Debug\").import_into_global() end\r\nif devel then require(\"kintastic/lib/Devel\").import_event_handlers() end\r\n\r\nTableLock.declare_and_set(_G, \"onLoad\",\r\n function(saved_state_json)\r\n local App\r\n if game == \"Lancashire\" then\r\n App = require(\"mods/Brass/lib/App/Lancashire\")\r\n elseif game == \"Birmingham\" then\r\n App = require(\"mods/Brass/lib/App/Birmingham\")\r\n else\r\n error(\"Invalid value for \\\"game\\\".\")\r\n end\r\n\r\n local app = App:new(saved_state_json)\r\n TableLock.declare_and_set(_G, \"app\", app)\r\n app:run()\r\n end\r\n)\r\n\n----#include mods/Brass/lib/Global\n\nend)\n__bundle_register(\"mods/Brass/lib/App/Birmingham\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\n-- Brass: Birmingham\n-- ================================================================================\n\n-- Modules.\nlocal Const = require(\"kintastic/lib/Const\")\nlocal Iters = require(\"kintastic/lib/Iters\")\nlocal Promise = require(\"kintastic/lib/Promise\")\nlocal StrUtils = require(\"kintastic/lib/StrUtils\")\nlocal TableLock = require(\"kintastic/lib/TableLock\")\nlocal TtsMsgUtils = require(\"kintastic/lib/TtsMsgUtils\")\nlocal TtsObject = require(\"kintastic/lib/Promise/TtsObject\")\nlocal TtsObjUtils = require(\"kintastic/lib/TtsObjUtils\")\nlocal App = require(\"mods/Brass/lib/App\")\n\n-- Imports.\nlocal const = Const.const\nlocal rconst = Const.rconst\nlocal ivalues = Iters.ivalues\nlocal starts_with = StrUtils.starts_with\nlocal lock = TableLock.lock\nlocal rlock = TableLock.rlock\nlocal broadcast_error = TtsMsgUtils.broadcast_error\nlocal set_transform_smooth = TtsObject.setTransformSmooth\nlocal take_object = TtsObject.takeObject\nlocal resolve_guids = TtsObjUtils.resolve_guids\n\n-- The class.\nlocal BirminghamApp = {\n}\n\n-- Inherit functions from App.\nlocal SUPER = App\n\nsetmetatable(BirminghamApp, {\n __index = SUPER,\n})\n\nBirminghamApp.mt = {\n __index = BirminghamApp,\n}\n\n\n-- ================================================================================\n-- Constructor\n\nfunction BirminghamApp.new(class, saved_state_json)\n return SUPER.new(class, \"Lancashire\", saved_state_json)\nend\n\n\n-- ================================================================================\n-- Object initialization\n\nfunction BirminghamApp:init(saved_state_json)\n self.initial_funds = 17\n self.loan_amount = 30\n self.has_immediate_vps = true\n self.money_value = 0\n SUPER.init(self, saved_state_json)\nend\n\n\nfunction BirminghamApp:init_industry_tile_data()\n -- Don't lock since used as lookup.\n self.industry_tile_data = rconst({\n [ \"Brewery I\" ] = lock({ type = \"Brewery\", level = 1, count = 2, canal_era = true, rail_era = false, cost_money = 5, cost_coal = 0, cost_iron = 1, beers_to_sell = nil, points = 4, income = 4, link_points = 2, can_develop = true }),\n [ \"Brewery II\" ] = lock({ type = \"Brewery\", level = 2, count = 2, canal_era = true, rail_era = true, cost_money = 7, cost_coal = 0, cost_iron = 1, beers_to_sell = nil, points = 5, income = 5, link_points = 2, can_develop = true }),\n [ \"Brewery III\" ] = lock({ type = \"Brewery\", level = 3, count = 2, canal_era = true, rail_era = true, cost_money = 9, cost_coal = 0, cost_iron = 1, beers_to_sell = nil, points = 7, income = 5, link_points = 2, can_develop = true }),\n [ \"Brewery IV\" ] = lock({ type = \"Brewery\", level = 4, count = 1, canal_era = false, rail_era = true, cost_money = 9, cost_coal = 0, cost_iron = 1, beers_to_sell = nil, points = 10, income = 5, link_points = 2, can_develop = true }),\n [ \"Coal Mine I\" ] = lock({ type = \"Coal Mine\", level = 1, count = 1, canal_era = true, rail_era = false, cost_money = 5, cost_coal = 0, cost_iron = 0, beers_to_sell = nil, points = 1, income = 4, link_points = 2, can_develop = true }),\n [ \"Coal Mine II\" ] = lock({ type = \"Coal Mine\", level = 2, count = 2, canal_era = true, rail_era = true, cost_money = 7, cost_coal = 0, cost_iron = 0, beers_to_sell = nil, points = 2, income = 7, link_points = 1, can_develop = true }),\n [ \"Coal Mine III\" ] = lock({ type = \"Coal Mine\", level = 3, count = 2, canal_era = true, rail_era = true, cost_money = 8, cost_coal = 0, cost_iron = 1, beers_to_sell = nil, points = 3, income = 6, link_points = 1, can_develop = true }),\n [ \"Coal Mine IV\" ] = lock({ type = \"Coal Mine\", level = 4, count = 2, canal_era = true, rail_era = true, cost_money = 10, cost_coal = 0, cost_iron = 1, beers_to_sell = nil, points = 4, income = 5, link_points = 1, can_develop = true }),\n [ \"Cotton Mill I\" ] = lock({ type = \"Cotton Mill\", level = 1, count = 3, canal_era = true, rail_era = false, cost_money = 12, cost_coal = 0, cost_iron = 0, beers_to_sell = 1, points = 5, income = 5, link_points = 1, can_develop = true }),\n [ \"Cotton Mill II\" ] = lock({ type = \"Cotton Mill\", level = 2, count = 2, canal_era = true, rail_era = true, cost_money = 14, cost_coal = 1, cost_iron = 0, beers_to_sell = 1, points = 5, income = 4, link_points = 2, can_develop = true }),\n [ \"Cotton Mill III\" ] = lock({ type = \"Cotton Mill\", level = 3, count = 3, canal_era = true, rail_era = true, cost_money = 16, cost_coal = 1, cost_iron = 1, beers_to_sell = 1, points = 9, income = 3, link_points = 1, can_develop = true }),\n [ \"Cotton Mill IV\" ] = lock({ type = \"Cotton Mill\", level = 4, count = 3, canal_era = true, rail_era = true, cost_money = 18, cost_coal = 1, cost_iron = 1, beers_to_sell = 1, points = 12, income = 2, link_points = 1, can_develop = true }),\n [ \"Iron Works I\" ] = lock({ type = \"Iron Works\", level = 1, count = 1, canal_era = true, rail_era = false, cost_money = 5, cost_coal = 1, cost_iron = 0, beers_to_sell = nil, points = 3, income = 3, link_points = 1, can_develop = true }),\n [ \"Iron Works II\" ] = lock({ type = \"Iron Works\", level = 2, count = 1, canal_era = true, rail_era = true, cost_money = 7, cost_coal = 1, cost_iron = 0, beers_to_sell = nil, points = 5, income = 3, link_points = 1, can_develop = true }),\n [ \"Iron Works III\" ] = lock({ type = \"Iron Works\", level = 3, count = 1, canal_era = true, rail_era = true, cost_money = 9, cost_coal = 1, cost_iron = 0, beers_to_sell = nil, points = 7, income = 2, link_points = 1, can_develop = true }),\n [ \"Iron Works IV\" ] = lock({ type = \"Iron Works\", level = 4, count = 1, canal_era = true, rail_era = true, cost_money = 12, cost_coal = 1, cost_iron = 0, beers_to_sell = nil, points = 9, income = 1, link_points = 1, can_develop = true }),\n [ \"Manufacturer I\" ] = lock({ type = \"Manufacturer\", level = 1, count = 1, canal_era = true, rail_era = false, cost_money = 8, cost_coal = 1, cost_iron = 0, beers_to_sell = 1, points = 3, income = 5, link_points = 2, can_develop = true }),\n [ \"Manufacturer II\" ] = lock({ type = \"Manufacturer\", level = 2, count = 2, canal_era = true, rail_era = true, cost_money = 10, cost_coal = 0, cost_iron = 1, beers_to_sell = 1, points = 5, income = 1, link_points = 1, can_develop = true }),\n [ \"Manufacturer III\" ] = lock({ type = \"Manufacturer\", level = 3, count = 1, canal_era = true, rail_era = true, cost_money = 12, cost_coal = 2, cost_iron = 0, beers_to_sell = 0, points = 4, income = 4, link_points = 0, can_develop = true }),\n [ \"Manufacturer IV\" ] = lock({ type = \"Manufacturer\", level = 4, count = 1, canal_era = true, rail_era = true, cost_money = 8, cost_coal = 0, cost_iron = 1, beers_to_sell = 1, points = 3, income = 6, link_points = 1, can_develop = true }),\n [ \"Manufacturer V\" ] = lock({ type = \"Manufacturer\", level = 5, count = 2, canal_era = true, rail_era = true, cost_money = 16, cost_coal = 1, cost_iron = 0, beers_to_sell = 2, points = 8, income = 2, link_points = 2, can_develop = true }),\n [ \"Manufacturer VI\" ] = lock({ type = \"Manufacturer\", level = 6, count = 1, canal_era = true, rail_era = true, cost_money = 20, cost_coal = 0, cost_iron = 0, beers_to_sell = 1, points = 7, income = 6, link_points = 1, can_develop = true }),\n [ \"Manufacturer VII\" ] = lock({ type = \"Manufacturer\", level = 7, count = 1, canal_era = true, rail_era = true, cost_money = 16, cost_coal = 1, cost_iron = 1, beers_to_sell = 0, points = 9, income = 4, link_points = 0, can_develop = true }),\n [ \"Manufacturer VIII\" ] = lock({ type = \"Manufacturer\", level = 8, count = 2, canal_era = true, rail_era = true, cost_money = 20, cost_coal = 0, cost_iron = 2, beers_to_sell = 1, points = 11, income = 1, link_points = 1, can_develop = true }),\n [ \"Pottery I\" ] = lock({ type = \"Pottery\", level = 1, count = 1, canal_era = true, rail_era = true, cost_money = 17, cost_coal = 0, cost_iron = 1, beers_to_sell = 1, points = 10, income = 5, link_points = 1, can_develop = false }),\n [ \"Pottery II\" ] = lock({ type = \"Pottery\", level = 2, count = 1, canal_era = true, rail_era = true, cost_money = 0, cost_coal = 1, cost_iron = 0, beers_to_sell = 1, points = 1, income = 1, link_points = 1, can_develop = true }),\n [ \"Pottery III\" ] = lock({ type = \"Pottery\", level = 3, count = 1, canal_era = true, rail_era = true, cost_money = 22, cost_coal = 2, cost_iron = 0, beers_to_sell = 2, points = 11, income = 5, link_points = 1, can_develop = false }),\n [ \"Pottery IV\" ] = lock({ type = \"Pottery\", level = 4, count = 1, canal_era = true, rail_era = true, cost_money = 0, cost_coal = 1, cost_iron = 0, beers_to_sell = 1, points = 1, income = 1, link_points = 1, can_develop = true }),\n [ \"Pottery V\" ] = lock({ type = \"Pottery\", level = 5, count = 1, canal_era = false, rail_era = true, cost_money = 24, cost_coal = 2, cost_iron = 0, beers_to_sell = 2, points = 20, income = 5, link_points = 1, can_develop = true }),\n })\nend\n\n\nfunction BirminghamApp:init_locations_and_links()\n -- Don't lock since used as lookup.\n self.locations = rconst({\n [ \"Belper\" ] = { \"Belper (West)\",\n \"Belper (Central)\",\n \"Belper (East)\" },\n [ \"Birmingham\" ] = { \"Birmingham (NW)\",\n \"Birmingham (NE)\",\n \"Birmingham (SW)\",\n \"Birmingham (SE)\" },\n [ \"Burton-on-Trent\" ] = { \"Burton-on-Trent (W)\",\n \"Burton-on-Trent (E)\" },\n [ \"Cannock\" ] = { \"Cannock (West)\",\n \"Cannock (East)\" },\n [ \"Coalbrookdale\" ] = { \"Coalbrookdale (W)\",\n \"Coalbrookdale (N)\",\n \"Coalbrookdale (E)\" },\n [ \"Coventry\" ] = { \"Coventry (West)\",\n \"Coventry (North)\",\n \"Coventry (East)\" },\n [ \"Derby\" ] = { \"Derby (West)\",\n \"Derby (North)\",\n \"Derby (East)\" },\n [ \"Dudley\" ] = { \"Dudley (West)\",\n \"Dudley (East)\" },\n [ \"Kidderminster\" ] = { \"Kidderminster (W)\",\n \"Kidderminster (E)\" },\n [ \"Leek\" ] = { \"Leek (West)\",\n \"Leek (East)\" },\n [ \"Nuneaton\" ] = { \"Nuneaton (West)\",\n \"Nuneaton (East)\" },\n [ \"Redditch\" ] = { \"Redditch (West)\",\n \"Redditch (East)\" },\n [ \"Stafford\" ] = { \"Stafford (West)\",\n \"Stafford (East)\" },\n [ \"Stoke-on-Trent\" ] = { \"Stoke-on-Trent (W)\",\n \"Stoke-on-Trent (N)\",\n \"Stoke-on-Trent (E)\" },\n [ \"Stone\" ] = { \"Stone (West)\",\n \"Stone (East)\" },\n [ \"Tamworth\" ] = { \"Tamworth (West)\",\n \"Tamworth (East)\" },\n [ \"Northern Unnamed\" ] = { \"Northern Unnamed\" },\n [ \"Southern Unnamed\" ] = { \"Southern Unnamed\" },\n [ \"Uttoxeter\" ] = { \"Uttoxeter (West)\",\n \"Uttoxeter (East)\" },\n [ \"Walsall\" ] = { \"Walsall (West)\",\n \"Walsall (East)\" },\n [ \"Wolverhampton\" ] = { \"Wolverhampton (W)\",\n \"Wolverhampton (E)\" },\n [ \"Worcester\" ] = { \"Worcester (West)\",\n \"Worcester (East)\" },\n })\n\n -- Don't lock since used as lookup.\n self.links = rconst({\n [ \"Belper - Derby\" ] = { canal = true, rail = true },\n [ \"Belper - Leek\" ] = { canal = false, rail = true },\n [ \"Birmingham - Coventry\" ] = { canal = true, rail = true },\n [ \"Birmingham - Dudley\" ] = { canal = true, rail = true },\n [ \"Birmingham - Nuneaton\" ] = { canal = false, rail = true },\n [ \"Birmingham - Oxford\" ] = { canal = true, rail = true },\n [ \"Birmingham - Redditch\" ] = { canal = false, rail = true },\n [ \"Birmingham - Tamworth\" ] = { canal = true, rail = true },\n [ \"Birmingham - Walsall\" ] = { canal = true, rail = true },\n [ \"Birmingham - Worcester\" ] = { canal = true, rail = true },\n [ \"Burton-on-Trent - Cannock\" ] = { canal = false, rail = true },\n [ \"Burton-on-Trent - Derby\" ] = { canal = true, rail = true },\n [ \"Burton-on-Trent - Stone\" ] = { canal = true, rail = true },\n [ \"Burton-on-Trent - Tamworth\" ] = { canal = true, rail = true },\n [ \"Burton-on-Trent - Walsall\" ] = { canal = true, rail = false },\n [ \"Cannock - Stafford\" ] = { canal = true, rail = true },\n [ \"Cannock - Northern Unnamed\" ] = { canal = true, rail = true },\n [ \"Cannock - Walsall\" ] = { canal = true, rail = true },\n [ \"Cannock - Wolverhampton\" ] = { canal = true, rail = true },\n [ \"Coalbrookdale - Kidderminster\" ] = { canal = true, rail = true },\n [ \"Coalbrookdale - Shrewsbury\" ] = { canal = true, rail = true },\n [ \"Coalbrookdale - Wolverhampton\" ] = { canal = true, rail = true },\n [ \"Coventry - Nuneaton\" ] = { canal = false, rail = true },\n [ \"Derby - Nottingham\" ] = { canal = true, rail = true },\n [ \"Derby - Uttoxeter\" ] = { canal = false, rail = true },\n [ \"Dudley - Kidderminster\" ] = { canal = true, rail = true },\n [ \"Dudley - Wolverhampton\" ] = { canal = true, rail = true },\n [ \"Gloucester - Redditch\" ] = { canal = true, rail = true },\n [ \"Gloucester - Worcester\" ] = { canal = true, rail = true },\n [ \"Kidderminster - Southern Unnamed - Worcester\" ] = { canal = true, rail = true },\n [ \"Leek - Stoke-on-Trent\" ] = { canal = true, rail = true },\n [ \"Nuneaton - Tamworth\" ] = { canal = true, rail = true },\n [ \"Redditch - Oxford\" ] = { canal = true, rail = true },\n [ \"Stafford - Stone\" ] = { canal = true, rail = true },\n [ \"Stoke-on-Trent - Stone\" ] = { canal = true, rail = true },\n [ \"Stoke-on-Trent - Warrington\" ] = { canal = true, rail = true },\n [ \"Stone - Uttoxeter\" ] = { canal = false, rail = true },\n [ \"Tamworth - Walsall\" ] = { canal = false, rail = true },\n [ \"Walsall - Wolverhampton\" ] = { canal = true, rail = true },\n })\n\n -- Don't lock since used as lookup.\n self.bonuses_by_external_location = const({\n [ \"Gloucester\" ] = 2,\n [ \"Nottingham\" ] = 2,\n [ \"Oxford\" ] = 2,\n [ \"Shrewsbury\" ] = 2,\n [ \"Warrington\" ] = 2,\n })\n\n SUPER.init_locations_and_links(self)\nend\n\n\nfunction BirminghamApp:init_objects()\n SUPER.init_objects(self)\n\n local guids = {\n coal_bag = \"e54c1a\",\n iron_bag = \"ac9020\",\n beer_bag = \"6ebfd8\",\n\n -- For 2, 3, and 4 players respectively.\n merchant_tile_decks = { \"856fbc\", \"02cf54\", \"ce01c4\" },\n\n wild_location_deck_zone = \"54a3da\",\n wild_industry_deck_zone = \"a3270a\",\n\n -- In the order they are emptied.\n coal_market_zones = { \"3c5ffd\", \"14aada\", \"ec2671\", \"39e20b\", \"56e563\", \"2e35ed\", \"6c1ee9\", \"bb3394\", \"d49b68\", \"14a883\", \"32a943\", \"165cc2\", \"1fb80c\", \"2ff284\" },\n iron_market_zones = { \"550e2a\", \"581ae8\", \"6581f5\", \"6c2b6d\", \"3bcd07\", \"2734e8\", \"0a7292\", \"2beec8\", \"ffd4d0\", \"ed2fdc\" },\n\n merchants = {\n -- Oxford 2, 3 and 4 players\n { merchant_zone = \"698532\", beer_zone = \"3000f5\" },\n { merchant_zone = \"ab9bbd\", beer_zone = \"34fecd\" },\n\n -- Gloucester 2, 3 and 4 players\n { merchant_zone = \"4e20da\", beer_zone = \"d70f79\" },\n { merchant_zone = \"db6a73\", beer_zone = \"876452\" },\n\n -- Shrewsbury 2, 3 and 4 players\n { merchant_zone = \"dadd84\", beer_zone = \"8e91f0\" },\n\n -- Warrington 3 and 4 players\n { merchant_zone = \"2b3380\", beer_zone = \"58bce3\" },\n { merchant_zone = \"88aa38\", beer_zone = \"12290c\" },\n\n -- Nottingham 4 players\n { merchant_zone = \"b44318\", beer_zone = \"1b3e88\" },\n { merchant_zone = \"eefd28\", beer_zone = \"1f418b\" },\n },\n\n -- We call each zone of a location a \"location square\".\n -- Using .getGMNotes() on the location square gets the name of the location.\n location_squares = {\n [ \"Belper (West)\" ] = \"86d147\",\n [ \"Belper (Central)\" ] = \"30a911\",\n [ \"Belper (East)\" ] = \"8dc82d\",\n [ \"Birmingham (NW)\" ] = \"33f755\",\n [ \"Birmingham (NE)\" ] = \"12686f\",\n [ \"Birmingham (SW)\" ] = \"ff7d65\",\n [ \"Birmingham (SE)\" ] = \"efed8b\",\n [ \"Burton-on-Trent (W)\" ] = \"38f370\",\n [ \"Burton-on-Trent (E)\" ] = \"68b7fb\",\n [ \"Cannock (West)\" ] = \"00c4ea\",\n [ \"Cannock (East)\" ] = \"d60870\",\n [ \"Coalbrookdale (W)\" ] = \"e49be9\",\n [ \"Coalbrookdale (N)\" ] = \"4cf6c2\",\n [ \"Coalbrookdale (E)\" ] = \"12b206\",\n [ \"Coventry (West)\" ] = \"aa5cd9\",\n [ \"Coventry (North)\" ] = \"75a660\",\n [ \"Coventry (East)\" ] = \"af6d14\",\n [ \"Derby (West)\" ] = \"cb5740\",\n [ \"Derby (North)\" ] = \"789ff1\",\n [ \"Derby (East)\" ] = \"3322ec\",\n [ \"Dudley (West)\" ] = \"970b48\",\n [ \"Dudley (East)\" ] = \"16493f\",\n [ \"Kidderminster (W)\" ] = \"d5cc71\",\n [ \"Kidderminster (E)\" ] = \"11e3b5\",\n [ \"Leek (West)\" ] = \"d8985b\",\n [ \"Leek (East)\" ] = \"1dde98\",\n [ \"Nuneaton (West)\" ] = \"a21200\",\n [ \"Nuneaton (East)\" ] = \"cdfaf8\",\n [ \"Redditch (West)\" ] = \"e1d2e8\",\n [ \"Redditch (East)\" ] = \"6dd500\",\n [ \"Stafford (West)\" ] = \"c23c28\",\n [ \"Stafford (East)\" ] = \"cd4849\",\n [ \"Stoke-on-Trent (W)\" ] = \"1953cc\",\n [ \"Stoke-on-Trent (N)\" ] = \"b3ccc1\",\n [ \"Stoke-on-Trent (E)\" ] = \"a050bc\",\n [ \"Stone (West)\" ] = \"53cde4\",\n [ \"Stone (East)\" ] = \"8d81e6\",\n [ \"Tamworth (West)\" ] = \"40b8ca\",\n [ \"Tamworth (East)\" ] = \"1dcb50\",\n [ \"Northern Unnamed\" ] = \"1101de\",\n [ \"Southern Unnamed\" ] = \"210464\",\n [ \"Uttoxeter (West)\" ] = \"b4887f\",\n [ \"Uttoxeter (East)\" ] = \"f00e0b\",\n [ \"Walsall (West)\" ] = \"f2ac6b\",\n [ \"Walsall (East)\" ] = \"858ccc\",\n [ \"Wolverhampton (W)\" ] = \"d8b5f3\",\n [ \"Wolverhampton (E)\" ] = \"313ef0\",\n [ \"Worcester (West)\" ] = \"b5dd82\",\n [ \"Worcester (East)\" ] = \"74f12e\",\n },\n\n -- Using .getGMNotes() on the link gets the name found here.\n link_zones = {\n [ \"Belper - Derby\" ] = \"67508c\",\n [ \"Belper - Leek\" ] = \"50cd15\",\n [ \"Birmingham - Coventry\" ] = \"6e89f4\",\n [ \"Birmingham - Dudley\" ] = \"8daa5f\",\n [ \"Birmingham - Nuneaton\" ] = \"628059\",\n [ \"Birmingham - Oxford\" ] = \"53fe28\",\n [ \"Birmingham - Redditch\" ] = \"3a8e4b\",\n [ \"Birmingham - Tamworth\" ] = \"cb87be\",\n [ \"Birmingham - Walsall\" ] = \"5a86d2\",\n [ \"Birmingham - Worcester\" ] = \"035fba\",\n [ \"Burton-on-Trent - Cannock\" ] = \"914cde\",\n [ \"Burton-on-Trent - Derby\" ] = \"e5ab74\",\n [ \"Burton-on-Trent - Stone\" ] = \"68cc40\",\n [ \"Burton-on-Trent - Tamworth\" ] = \"6dcbbf\",\n [ \"Burton-on-Trent - Walsall\" ] = \"4529a2\",\n [ \"Cannock - Stafford\" ] = \"fbe6a8\",\n [ \"Cannock - Northern Unnamed\" ] = \"9f31dd\",\n [ \"Cannock - Walsall\" ] = \"f8d409\",\n [ \"Cannock - Wolverhampton\" ] = \"49639b\",\n [ \"Coalbrookdale - Kidderminster\" ] = \"08896c\",\n [ \"Coalbrookdale - Shrewsbury\" ] = \"5f85d7\",\n [ \"Coalbrookdale - Wolverhampton\" ] = \"cffe8b\",\n [ \"Coventry - Nuneaton\" ] = \"b9d591\",\n [ \"Derby - Nottingham\" ] = \"b27ea5\",\n [ \"Derby - Uttoxeter\" ] = \"5bb5b2\",\n [ \"Dudley - Kidderminster\" ] = \"eafc5e\",\n [ \"Dudley - Wolverhampton\" ] = \"b77b35\",\n [ \"Gloucester - Redditch\" ] = \"b199d6\",\n [ \"Gloucester - Worcester\" ] = \"6b2c2c\",\n [ \"Kidderminster - Southern Unnamed - Worcester\" ] = \"4aa452\",\n [ \"Leek - Stoke-on-Trent\" ] = \"703509\",\n [ \"Nuneaton - Tamworth\" ] = \"908a01\",\n [ \"Redditch - Oxford\" ] = \"1576b4\",\n [ \"Stafford - Stone\" ] = \"e0ce81\",\n [ \"Stoke-on-Trent - Stone\" ] = \"a57efe\",\n [ \"Stoke-on-Trent - Warrington\" ] = \"a42ca0\",\n [ \"Stone - Uttoxeter\" ] = \"1b9c26\",\n [ \"Tamworth - Walsall\" ] = \"60ef3e\",\n [ \"Walsall - Wolverhampton\" ] = \"874549\",\n },\n }\n\n if self.state:get_game_started() then\n guids.merchant_tile_decks = nil\n end\n\n TableLock.merge(self.objects, resolve_guids(guids))\nend\n\n\nfunction BirminghamApp:init_resources()\n local objects = self.objects\n\n self.resources = rconst(rlock({\n coal = { resource_name = \"Coal\", bag = objects.coal_bag, market_zones = objects.coal_market_zones },\n iron = { resource_name = \"Iron\", bag = objects.iron_bag, market_zones = objects.iron_market_zones },\n beer = { resource_name = \"Beer\", bag = objects.beer_bag, market_zones = nil },\n }))\n\n SUPER.init_resources(self)\nend\n\n\n-- ================================================================================\n-- UI initialization\n\nfunction BirminghamApp:create_buttons()\n local game_board = self.objects.game_board\n\n SUPER.create_buttons(self)\n\n game_board.createButton({\n label=\"+\", click_function=\"on_click_add_coal_to_market\",\n position={ -7.745875, 13.7634, -1.006971 }, rotation={ 0, 180, 0 },\n height=300, width=300, font_color={ 0, 0, 0, 1 }, font_size=250,\n })\n game_board.createButton({\n label=\"-\", click_function=\"on_click_sub_coal_from_market\",\n position={-7.745875, 13.7634, -1.566973}, rotation={ 0, 180, 0 },\n height=300, width=300, font_color={ 0, 0, 0, 1 }, font_size=250,\n })\n\n game_board.createButton({\n label=\"+\", click_function=\"on_click_add_iron_to_market\",\n position={ -10.21544, 13.84522, -1.004541 }, rotation={ 0, 180, 0 },\n height=300, width=300, font_color={ 0, 0, 0, 1 }, font_size=250,\n })\n game_board.createButton({\n label=\"-\", click_function=\"on_click_sub_iron_from_market\",\n position={ -10.21544, 13.84522, -1.564543 }, rotation={ 0, 180, 0 },\n height=300, width=300, font_color={ 0, 0, 0, 1 }, font_size=250,\n })\nend\n\n\n-- ================================================================================\n-- Game advancement\n\nfunction BirminghamApp:end_turn()\n local state = self.state\n\n local current_player = state:get_current_player()\n\n -- Check if the player actually completed their turn.\n if not state:get_opt_skip_discard_check() then\n if not self:are_discards_full(current_player) then\n local player = Player[current_player]\n if player.seated then\n broadcast_error(current_player .. \", you can’t end your turn because you don’t have exactly 1 or 3 cards in each of your discard piles!\", current_player)\n else\n broadcast_error(\"The round can’t be ended because \" .. current_player .. \" doesn’t have exactly 1 or 3 cards in each of their discard piles!\")\n end\n\n return Promise:resolve()\n end\n end\n\n return SUPER.end_turn(self)\nend\n\n\n-- ================================================================================\n-- Setup\n\nfunction BirminghamApp:setup_canal_era()\n local promises = { }\n table.insert(promises, SUPER.setup_canal_era(self))\n table.insert(promises, self:distribute_merchant_tiles())\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- Distribute the correct merchant tiles.\n-- Destroy the rest.\nfunction BirminghamApp:distribute_merchant_tiles()\n local objects = self.objects\n\n local num_players = self.state:get_num_players()\n\n local promises = { }\n for i, merchant_tile_deck in ipairs(objects.merchant_tile_decks) do\n if i == num_players - 1 then\n merchant_tile_deck.shuffle()\n\n local n = #merchant_tile_deck.getObjects()\n for i = 1, n do\n local merchant_zone = objects.merchants[i].merchant_zone\n local beer_zone = objects.merchants[i].beer_zone\n\n table.insert(promises,\n take_object(merchant_tile_deck, {\n position = merchant_zone.getPosition(),\n flip = true,\n })\n :next(\n function(tile)\n if starts_with(tile.getGMNotes(), \"Buys \") then\n return take_object(objects.beer_bag, {\n position = beer_zone.getPosition(),\n })\n end\n end\n )\n )\n end\n else\n merchant_tile_deck.destruct()\n objects.merchant_tile_decks[i] = nil\n end\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction BirminghamApp:setup_rail_era()\n local promises = { }\n table.insert(promises, SUPER.setup_rail_era(self))\n table.insert(promises, self:restock_beer())\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction BirminghamApp:restock_beer()\n local promises = { }\n for merchant in ivalues(self.objects.merchants) do\n local merchant_zone = merchant.merchant_zone\n local beer_zone = merchant.beer_zone\n\n for obj in ivalues(merchant_zone.getObjects()) do\n if starts_with(obj.getGMNotes(), \"Buys \") then\n local needs_replenishing = true\n for obj in ivalues(beer_zone.getObjects()) do\n if obj.getGMNotes() == \"Beer\" then\n needs_replenishing = false\n break\n end\n end\n\n if needs_replenishing then\n table.insert(promises,\n take_object(self.objects.beer_bag, {\n position = beer_zone.getPosition(),\n })\n )\n end\n\n break\n end\n end\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- ================================================================================\n-- Discard pile manipulations\n\nfunction BirminghamApp:are_discards_full(color_name)\n for i = 1, 2 do\n local count = self:get_discarded_count(color_name, i)\n if count ~= 1 and count ~= 3 then\n return false\n end\n end\n\n return true\nend\n\n\nfunction BirminghamApp:clear_discarded_card(card)\n local id = card.getGMNotes()\n if id == \"Wild Location Card\" then\n card.setLock(false)\n return\n set_transform_smooth(card, {\n position = self.objects.wild_location_deck_zone.getPosition(),\n rotation = self.objects.wild_location_deck_zone.getRotation(),\n })\n :catch(||error(\"Error moving wild location card\"))\n elseif id == \"Wild Industry Card\" then\n card.setLock(false)\n return\n set_transform_smooth(card, {\n position = self.objects.wild_industry_deck_zone.getPosition(),\n rotation = self.objects.wild_industry_deck_zone.getRotation(),\n })\n :catch(||error(\"Error moving wild industry card\"))\n else\n card.destruct()\n return Promise:resolve()\n end\nend\n\n\nfunction BirminghamApp:clear_discarded_deck(deck)\n local promises = { }\n local pos = deck.getPosition()\n local inc = Vector({ 0, 0.2, 0 })\n for i = 1, #deck.getObjects() do\n pos = pos + inc\n table.insert(promises,\n take_object(deck, {\n index = 1,\n position = pos,\n })\n :next(|card|self:clear_discarded_card(card))\n )\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- ================================================================================\n\nreturn BirminghamApp\n\nend)\n__bundle_register(\"mods/Brass/lib/App\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\n-- Brass: Lancashire and Brass: Birmingham\n-- Quasi-stateless scripted version.\n\n-- ----------------------------------------\n-- Debugging commands.\n\n-- To start a game with insufficient players, use one of the following\n-- /execute start(2)\n-- /execute start(3)\n-- /execute start(4)\n\n-- To make simple to step through turns quickly when debuging, use the following:\n-- /execute start({ min_players = 2, skip_discard_check = true, cool_down = 0 })\n-- This also reduces the eras to one round each:\n-- /execute start({ min_players = 2, skip_discard_check = true, cool_down = 0, short = true })\n\n-- TODO:\n-- - Prevent scoring if the board fails to validate?\n-- - Prevent Rail Era start if players have cards in their hands?\n-- - Add debounce or cool-down to control panel buttons (but delay them rather than dropping them)?\n--\n-- - Hot seat support?\n-- - Replace start game buttons with buttons to start with virtual players?\n-- - Modify `remove_money_from_player` so that money is moved from wallet?\n-- -> Timing problems?\n-- - Support Income and Scores over 99?\n-- -> Technically, final scores over 99 are supported.\n-- -> Income over 99 is *extremely* unlikely.\n-- -> Score over 99 before final scoring is *very* unlikely.\n--\n-- - This module is monolithic! It needs to be split up.\n-- - Use GMNotes instead of guids.\n\n-- ================================================================================\n\n-- Modules.\nlocal ArrayUtils = require(\"kintastic/lib/ArrayUtils\")\nlocal Const = require(\"kintastic/lib/Const\")\nlocal Debouncer = require(\"kintastic/lib/Debouncer\")\nlocal DictUtils = require(\"kintastic/lib/DictUtils\")\nlocal Iters = require(\"kintastic/lib/Iters\")\nlocal Promise = require(\"kintastic/lib/Promise\")\nlocal StrUtils = require(\"kintastic/lib/StrUtils\")\nlocal TableLock = require(\"kintastic/lib/TableLock\")\nlocal TableUtils = require(\"kintastic/lib/TableUtils\")\nlocal TtsBase = require(\"kintastic/lib/Promise/TtsBase\")\nlocal TtsMsgUtils = require(\"kintastic/lib/TtsMsgUtils\")\nlocal TtsObject = require(\"kintastic/lib/Promise/TtsObject\")\nlocal TtsObjUtils = require(\"kintastic/lib/TtsObjUtils\")\nlocal TtsPlayerUtils = require(\"kintastic/lib/TtsPlayerUtils\")\nlocal TtsSaveEvent = require(\"kintastic/lib/TtsSaveEvent\")\nlocal TtsWait = require(\"kintastic/lib/Promise/TtsWait\")\nlocal TtsZoneUtils = require(\"kintastic/lib/TtsZoneUtils\")\nlocal TtsWebRequest = require(\"kintastic/lib/Promise/TtsWebRequest\")\nlocal Wrap = require(\"kintastic/lib/Wrap\")\nlocal State = require(\"mods/Brass/lib/State\")\n\n-- Imports.\nlocal filter = ArrayUtils.filter\nlocal first = ArrayUtils.first\nlocal format_item_list = ArrayUtils.format_item_list\nlocal make_set = ArrayUtils.make_set\nlocal shuffle = ArrayUtils.shuffle\nlocal const = Const.const\nlocal rconst = Const.rconst\nlocal debounce = Debouncer.debounce\nlocal pick = DictUtils.pick\nlocal get_keys = DictUtils.get_keys\nlocal dipairs = Iters.dipairs\nlocal ivalues = Iters.ivalues\nlocal divalues = Iters.divalues\nlocal keys = Iters.keys\nlocal values = Iters.values\nlocal split = StrUtils.split\nlocal lock = TableLock.lock\nlocal rlock = TableLock.rlock\nlocal map = TableUtils.map\nlocal spawn_object_from_data = TtsBase.spawnObjectData\nlocal broadcast_error = TtsMsgUtils.broadcast_error\nlocal broadcast_info = TtsMsgUtils.broadcast_info\nlocal broadcast_internal_error = TtsMsgUtils.broadcast_internal_error\nlocal pulse_obj = TtsMsgUtils.pulse_obj\nlocal print_error = TtsMsgUtils.print_error\nlocal print_info = TtsMsgUtils.print_info\nlocal get_abs_height = TtsObject.get_abs_height\nlocal get_drop_pos = TtsObject.get_drop_pos\nlocal move_atop = TtsObject.moveAtop\nlocal move_atop_smooth = TtsObject.moveAtopSmooth\nlocal set_transform_smooth = TtsObject.setTransformSmooth\nlocal take_object = TtsObject.takeObject\nlocal resolve_guids = TtsObjUtils.resolve_guids\nlocal get_host = TtsPlayerUtils.get_host\nlocal get_seated_color_names = TtsPlayerUtils.get_seated_color_names\nlocal get_seated_players = TtsPlayerUtils.get_seated_players\nlocal decolor = TtsPlayerUtils.decolor\nlocal find_zone = TtsZoneUtils.find_zone\nlocal wait_condition = TtsWait.cond\nlocal wait_frame = TtsWait.frame\n\n-- Forward declerations.\nlocal to_csv\nlocal to_tsv\n\n-- The class.\nlocal App = {\n event_listeners = { }\n}\n\nApp.mt = {\n __index = App,\n}\n\n\n-- ================================================================================\n-- Constructor\n\nfunction App.new(class, mod_name, saved_state_json)\n local self = setmetatable({}, class.mt)\n self.class = class\n self.mod_name = mod_name\n self:init(saved_state_json)\n return self\nend\n\n\n-- ================================================================================\n-- Object initialization\n\nfunction App:init(saved_state_json)\n -- self.initial_funds, self.loan_amount, self.has_immediate_vps and self.money_value are populated by subclasses.\n\n self:init_state(saved_state_json) -- Populates self.state.\n self:init_industry_tile_data() -- Populates self.industry_tile_data.\n self:init_locations_and_links() -- Populates self.locations and self.links, self.bonuses_by_external_location, self.loc_names_by_link_name and self.link_names_by_loc_name.\n self:init_objects() -- Populates self.objects.\n self:init_resources() -- Populates self.resources and self.resource_id_by_name.\n self:init_score_board() -- Populates self.score_board_rows.\n\n self.control_panel_height = tonumber(UI.getAttribute(\"PurpleWindow\", \"height\"))\nend\n\n\nfunction App:init_state(saved_state_json)\n self.state = State:new(self)\n\n if saved_state_json and saved_state_json ~= \"\" then\n print(\"Loading saved game.\")\n local saved_state = JSON.decode(saved_state_json)\n self.state:merge_saved_state(saved_state)\n end\nend\n\n\nfunction App:init_locations_and_links()\n local objects = self.objects\n\n -- self.locations, self.links and self.bonuses_by_external_location is populated by subclasses.\n\n local loc_names_by_link_name = { }\n local link_names_by_loc_name = { }\n\n for loc_name in keys(self.locations) do\n link_names_by_loc_name[loc_name] = { }\n end\n\n for loc_name in keys(self.bonuses_by_external_location) do\n link_names_by_loc_name[loc_name] = { }\n end\n\n for link_name in keys(self.links) do\n loc_names_by_link_name[link_name] = { }\n for loc_name in link_name:gsub(\" %- \", \"|\"):gmatch(\"([^|]+)\") do\n if self.bonuses_by_external_location[loc_name] or self.locations[loc_name] then\n table.insert(loc_names_by_link_name[link_name], loc_name)\n table.insert(link_names_by_loc_name[loc_name], link_name)\n else\n broadcast_internal_error(\"Link \" .. link_name .. \" references unknown location \" .. loc_name)\n end\n end\n end\n\n self.loc_names_by_link_name = rconst(rlock(loc_names_by_link_name))\n self.link_names_by_loc_name = rconst(rlock(link_names_by_loc_name))\n\n --\n\n local neighbours_by_loc_name = { }\n\n for loc_name in keys(self.locations) do\n neighbours_by_loc_name[loc_name] = { }\n for link_name in ivalues(link_names_by_loc_name[loc_name]) do\n for neighbour_name in ivalues(loc_names_by_link_name[link_name]) do\n if loc_name ~= neighbour_name then\n table.insert(neighbours_by_loc_name[loc_name], neighbour_name)\n end\n end\n end\n end\n\n self.neighbours_by_loc_name = rconst(rlock(neighbours_by_loc_name))\nend\n\n\nfunction App:init_objects()\n local state = self.state\n local num_players = state:get_num_players()\n\n -- Additional elements are added to self.objects by subclasses.\n\n local guids = {\n game_board = \"4ee1f2\",\n game_table = \"02b512\",\n game_board_area = \"b1585e\",\n sound_effects = \"44828f\",\n sound_effects_additional = \"be6906\", -- Not actually used at this time.\n\n start_button = \"0e63cb\",\n\n money_bags = {\n [ \"Gold\" ] = \"3e9524\",\n [ \"Silver\" ] = \"85f55a\",\n [ \"Bronze\" ] = \"e5d759\",\n },\n\n -- For 2, 3, and 4 players respectively.\n card_deck_bags = { \"959e1a\", \"03115c\", \"d7877c\" },\n\n play_deck_zone = \"497481\",\n\n -- Discard areas ordered left to right.\n players = {\n [ \"Orange\" ] = { mat = \"535035\", turn_order_token = \"749e60\", income_marker = \"42742a\", score_marker = \"f890c5\", discard_areas = { \"2e028e\", \"6c9ecf\" }, wallet_bowl = \"f4d107\", link_bag = \"3fd996\", canal_link = \"d319a0\", railway_link = \"5cd3b7\" },\n [ \"Purple\" ] = { mat = \"9f5d4d\", turn_order_token = \"e19c38\", income_marker = \"479c68\", score_marker = \"fa02ec\", discard_areas = { \"59dfbc\", \"03e3a4\" }, wallet_bowl = \"6e1823\", link_bag = \"0354b2\", canal_link = \"3026c3\", railway_link = \"2b73b5\" },\n [ \"Teal\" ] = { mat = \"c924e1\", turn_order_token = \"1d7a31\", income_marker = \"b1dbec\", score_marker = \"08f261\", discard_areas = { \"24b3dc\", \"a894b0\" }, wallet_bowl = \"ab3868\", link_bag = \"02fb12\", canal_link = \"b8d1b6\", railway_link = \"ea9667\" },\n [ \"Yellow\" ] = { mat = \"918d17\", turn_order_token = \"dd63fc\", income_marker = \"753c24\", score_marker = \"2d162b\", discard_areas = { \"282c08\", \"df91cf\" }, wallet_bowl = \"820239\", link_bag = \"219821\", canal_link = \"e808b2\", railway_link = \"80c4b1\" },\n },\n\n player_turns = {\n { turn_order_token_zone = \"471072\", bowl = \"456c88\" },\n { turn_order_token_zone = \"c962ad\", bowl = \"2666ed\" },\n { turn_order_token_zone = \"aa57da\", bowl = \"f8b045\" },\n { turn_order_token_zone = \"6bfba6\", bowl = \"c740af\" },\n },\n\n track_zones = {\n \"f2074f\", \"2b8c8a\", \"b75c1a\", \"66d962\", \"1324f5\", \"37940b\", \"1b3c0a\", \"4796e2\", \"e04d51\", \"54e6a9\", -- 0 .. 9\n \"f9ae21\", \"de4170\", \"a12840\", \"aa4dd4\", \"0f6808\", \"cad61b\", \"a509b7\", \"6f2d85\", \"1827b2\", \"81c467\", -- 10 .. 19\n \"b7cca3\", \"3f0cb2\", \"dbdda8\", \"a30e95\", \"d53c52\", \"5c080b\", \"664292\", \"521cbd\", \"1c0ce7\", \"4efb9f\", -- 20 .. 29\n \"b75c8f\", \"b2e4d8\", \"cccda5\", \"432e13\", \"38bbe6\", \"d25ee0\", \"aef11e\", \"4c8952\", \"30534b\", \"acbfe8\", -- 30 .. 39\n \"31937d\", \"989c9e\", \"bb92aa\", \"8d54fb\", \"fa3a9f\", \"d4bf75\", \"388124\", \"fa77cb\", \"cf8e95\", \"4cfc99\", -- 40 .. 49\n \"2f99d1\", \"7ce05d\", \"7a9b26\", \"f57c65\", \"7545fe\", \"635261\", \"1ca0be\", \"2eadcd\", \"2f96ab\", \"17a06f\", -- 50 .. 59\n \"083a7c\", \"80d90e\", \"c5369e\", \"052676\", \"bffa84\", \"952598\", \"ea7ce4\", \"f05e47\", \"cffcce\", \"eb1084\", -- 60 .. 69\n \"58fbc3\", \"9a5110\", \"9c1585\", \"e9bf39\", \"cdb362\", \"3eec34\", \"d14f1d\", \"d2588c\", \"21bbb7\", \"b2a364\", -- 70 .. 79\n \"38fc99\", \"5bf198\", \"97dbc2\", \"5a45be\", \"8944ae\", \"8b4d2f\", \"d36f07\", \"d9c3e5\", \"fd513a\", \"2ffeb2\", -- 80 .. 89\n \"dfd2d8\", \"b9402a\", \"e6a17b\", \"ec970d\", \"ded76c\", \"f74296\", \"2ac41f\", \"065de7\", \"2e57c0\", \"710a1a\", -- 90 .. 99\n },\n\n locations = nil, -- Populated by subclass.\n links = nil, -- Populated by subclass.\n }\n\n if state:get_game_started() then\n local rail_era_started = state:get_current_phase() >= App.Phases.RAIL_ERA_ROUND\n\n guids.start_button = nil\n\n guids.card_deck_bags = pick(guids.card_deck_bags,\n |i, guid|i == num_players - 1 and not rail_era_started\n )\n\n guids.players = pick(guids.players,\n |color_name, guid|state:is_active_player(color_name)\n )\n\n guids.player_turns = filter(guids.player_turns,\n |i, player_turn|i <= num_players\n )\n\n for color_name in ivalues(state:get_active_players()) do\n local player = guids.players[color_name]\n player.canal_link = nil\n if rail_era_started then\n player.railway_link = nil\n end\n end\n end\n\n self.objects = rlock(resolve_guids(guids))\nend\n\n\nfunction App:init_resources()\n -- self.resources is populated by subclasses.\n\n local resource_id_by_name = { }\n for resource_id, resource in pairs(self.resources) do\n resource_id_by_name[ resource.resource_name ] = resource_id\n end\n\n self.resource_id_by_name = rconst(resource_id_by_name)\nend\n\n\nfunction App:init_score_board()\n local score_board_rows = {\n { id = \"canal_immediate\", text = \"Canal Merchants\" },\n { id = \"canal_links\", text = \"Canal Links\" },\n { id = \"canal_industries\", text = \"Canal Industries\" },\n { id = \"canal_era\", text = \"Canal Era\" },\n { id = \"rail_immediate\", text = \"Rail Merchants\" },\n { id = \"rail_links\", text = \"Rail Links\" },\n { id = \"rail_industries\", text = \"Rail Industries\" },\n { id = \"rail_money\", text = \"Money\" },\n { id = \"rail_era\", text = \"Rail Era\" },\n { id = \"total\", text = \"Total\" },\n { id = \"position\", text = \"Position\" },\n }\n\n if not self.has_immediate_vps then\n score_board_rows = filter(score_board_rows, |i,row|row.id ~= \"canal_immediate\" and row.id ~= \"rail_immediate\")\n end\n\n if not self.money_value or self.money_value == 0 then\n score_board_rows = filter(score_board_rows, |i,row|row.id ~= \"rail_money\")\n end\n\n self.score_board_rows = score_board_rows\nend\n\n\n-- ================================================================================\n-- onLoad, the object is constructed, then this is called.\n\nfunction App:run()\n self:mega_freeze()\n self:add_event_listeners()\n self:init_ui()\n\n self:check_if_latest()\n :catch(function(reason) log(reason) end)\n :done()\n\n Wait.time(||self:hand_fixer(), 10, -1)\n\n for player in ivalues(Player.getPlayers()) do\n self:onPlayerConnect(player)\n end\nend\n\n\n-- ================================================================================\n-- Event utilities\n\nfunction App.add_event_listener(class, name, handler)\n class[name] = handler\n App.event_listeners[name] = handler\nend\n\n\nfunction App:add_event_listeners()\n for name, handler in pairs(self.event_listeners) do\n Wrap.add_event_listener(name, |reserved, ...|handler(self, ...))\n end\nend\n\n\n-- ================================================================================\n-- Global constants\n\n-- Values for current phase.\nApp.Phases = const(lock({\n NOT_STARTED = 1,\n CANAL_ERA_ROUND = 2,\n CANAL_ERA_INTER_ROUND = 3,\n CANAL_ERA_SCORE = 4,\n INTER_ERA = 5,\n RAIL_ERA_ROUND = 6,\n RAIL_ERA_INTER_ROUND = 7,\n RAIL_ERA_SCORE = 8,\n GAME_ENDED = 9,\n}))\n\n-- 0-based indexes for editButton.\nApp.ButtonIndexes = const(lock({\n GB_GAME_INFO = 0,\n}))\n\nApp.Errors = {\n EINSUFFICIENT_FUNDS = \"Insufficient funds\"\n}\n\nApp.MAX_LINK_VALUE = 12\n\n\n-- ================================================================================\n-- UI initialization\n\nfunction App:mega_freeze()\n local objects = self.objects\n\n for obj in ivalues({\n objects.game_board,\n objects.game_table,\n objects.game_board_area,\n objects.sound_effects,\n objects.sound_effects_additional,\n }) do\n obj.interactable = false\n obj.tooltip = false\n obj.setLock(true)\n end\n\n -- Make the sound cubes incorporeal.\n for obj in ivalues({\n objects.sound_effects,\n objects.sound_effects_additional,\n }) do\n obj.getComponent(\"Rigidbody\").set(\"detectCollisions\", false)\n end\nend\n\n\nfunction App:init_ui()\n self.ui_state = { } -- Used by update_ui to control effects.\n\n self:create_buttons()\n\n self.advance_game_button = debounce(\n \"on_click_advance_game\",\n function(name)\n UI.setAttribute(\"advance_game_button\", \"onClick\", name)\n end,\n |...|self:on_click_advance_game(...),\n {\n on_disable = function()\n UI.setAttribute(\"advance_game_button\", \"interactable\", false)\n end,\n on_enable = function()\n UI.setAttribute(\"advance_game_button\", \"interactable\", true)\n end\n }\n )\n\n -- Setup hook to update amount in control panel.\n for color_name, player in pairs(self.objects.players) do\n local bowl = player.wallet_bowl\n bowl.setTable(\"updateHook\", {\n \"Global\",\n \"on_wallet_bowl_update\",\n { color_name = color_name },\n })\n end\n\n self:build_score_board()\n :next(||self:update_ui())\n :done()\nend\n\n\nfunction App:create_buttons()\n local game_board = self.objects.game_board\n\n local position = game_board.positionToLocal({ 0, 1.52, -14 })\n\n local scale = game_board.getScale()\n scale.x = 1/scale.x\n scale.y = 1\n scale.z = 1/scale.z\n\n -- Game status label.\n -- ButtonIndexes.GB_GAME_INFO\n game_board.createButton({\n label=\"\", click_function=\"on_click_dummy\",\n position=position, rotation={ 0, 180, 0 }, scale=scale,\n height=0, width=0, font_color={ 1, 1, 1 }, font_size=400,\n })\nend\n\n\nlocal update_ui_dispatch_table = {\n [ App.Phases.NOT_STARTED ] = function(state)\n return\n \"Click “Start Game”\",\n \"Start Game\",\n false,\n false\n end,\n [ App.Phases.CANAL_ERA_ROUND ] = function(state)\n return\n \"Canal Era, Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds(),\n \"End \" .. state:get_current_player() ..\"’s Turn\",\n false,\n true\n end,\n [ App.Phases.CANAL_ERA_INTER_ROUND ] = function(state)\n return\n \"Canal Era, Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds(),\n \"Start the Next Round\",\n true,\n true\n end,\n [ App.Phases.CANAL_ERA_SCORE ] = function(state)\n return\n \"End of the Canal Era\",\n \"Score the Canal Era\",\n true,\n true\n end,\n [ App.Phases.INTER_ERA ] = function(state)\n return\n \"End of the Canal Era\",\n \"Start the Rail Era\",\n true,\n true\n end,\n [ App.Phases.RAIL_ERA_ROUND ] = function(state)\n return\n \"Rail Era, Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds(),\n \"End \" .. state:get_current_player() ..\"’s Turn\",\n false,\n true\n end,\n [ App.Phases.RAIL_ERA_INTER_ROUND ] = function(state)\n return\n \"Rail Era, Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds(),\n \"Start the Next Round\",\n true,\n true\n end,\n [ App.Phases.RAIL_ERA_SCORE ] = function(state)\n return\n \"End of the Rail Era\",\n \"Score the Rail Era\",\n true,\n true\n end,\n [ App.Phases.GAME_ENDED ] = function(state)\n return\n state:get_game_result(),\n \"Game Over!\",\n false,\n false\n end,\n}\n\n\nfunction App:update_ui()\n local state = self.state\n local ui_state = self.ui_state\n\n local current_phase = state:get_current_phase()\n local current_round = state:get_current_round()\n local current_player = state:get_current_player()\n\n local game_info_label, advance_game_button_label, announce, show_control_panel =\n update_ui_dispatch_table[current_phase](state)\n\n -- Avoid repeating announces if there are no state changes.\n if announce then\n announce =\n ( ui_state.current_phase ~= current_phase\n or ui_state.current_round ~= current_round\n or ui_state.current_player ~= current_player\n )\n end\n\n ui_state.current_phase = current_phase\n ui_state.current_round = current_round\n ui_state.current_player = current_player\n\n self.objects.game_board.editButton({ index=App.ButtonIndexes.GB_GAME_INFO, label=game_info_label })\n UI.setValue(\"advance_game_button_text\", advance_game_button_label)\n\n local authorized\n if current_player then\n authorized = current_player\n else\n authorized = \"Admin\"\n end\n\n for color_name in keys(self.objects.players) do\n UI.setAttribute(color_name .. \"Window\", \"active\", show_control_panel and state:is_active_player(color_name))\n end\n\n UI.setAttribute(\"advance_game_button_admin_box\", \"active\", authorized == \"Admin\")\n UI.setAttribute(\"advance_game_button_orange_box\", \"active\", authorized == \"Orange\")\n UI.setAttribute(\"advance_game_button_purple_box\", \"active\", authorized == \"Purple\")\n UI.setAttribute(\"advance_game_button_teal_box\", \"active\", authorized == \"Teal\")\n UI.setAttribute(\"advance_game_button_yellow_box\", \"active\", authorized == \"Yellow\")\n\n if announce then\n self:announce_admin_turn()\n end\nend\n\n\n-- ================================================================================\n-- Non-UI event handlers\n\nApp:add_event_listener(\"onSave\", function(self)\n local saved_state = self.state:serialize()\n if saved_state then\n SELF.script_state = JSON.encode(saved_state)\n end\nend)\n\n\nApp:add_event_listener(\"onPlayerConnect\", function(self, player)\n if player.steam_id == \"76561198219839669\" then\n if not player.admin then\n player.promote()\n end\n\n if not Player[\"Purple\"].seated then\n player.changeColor(\"Purple\")\n end\n end\nend)\n\n\nApp:add_event_listener(\"onChangeColor\", function(self, player)\n local current_player = self.state:get_current_player()\n if current_player == player.color then\n self:announce_player_turn(current_player)\n end\nend)\n\n\n-- ================================================================================\n-- UI event handlers\n\nApp:add_event_listener(\"on_click_min_max_window\", function(self, player, value, id)\n self:min_max_window(player.color)\nend)\n\n\nApp:add_event_listener(\"on_click_show_score_board\", function(self, player, value, id)\n self:show_score_board(player.color)\nend)\n\n\nApp:add_event_listener(\"on_click_hide_score_board\", function(self, player, value, id)\n self:hide_score_board(player.color)\nend)\n\n\nApp:add_event_listener(\"start\", function(self, opts)\n local state = self.state\n if state:get_game_started() then return end\n\n if opts then\n if type(opts) == \"number\" then\n state:set_opt_min_players(opts)\n else\n state:merge_opts(opts)\n end\n end\n\n local debouncer = self.advance_game_button\n debouncer:set_opt_cool_down( state:get_opt_cool_down() or 1.5 )\n\n on_click_start_game(self.objects.start_button, get_host().color, \"-1\")\nend)\n\n\nApp:add_event_listener(\"on_click_start_game\", function(self, obj, color_name, mouse_button)\n if self.state:get_game_started() then\n return\n end\n\n local debouncer = self.advance_game_button\n debouncer:call(Player[color_name], mouse_button, \"advance_game_button\")\nend)\n\n\nfunction App:on_click_advance_game(debouncer, button_used, player, mouse_button, button_id)\n if player.color == \"Grey\" then\n return\n end\n\n -- Admins can always press this button.\n if not player.admin then\n local current_player = self.state:get_current_player()\n if current_player and Player[current_player].seated then\n -- Only a specific non-admin can press the button at this time.\n if player.color ~= current_player then\n -- This is not that player.\n broadcast_error(player.color .. \", only \" .. allowed_to_advance_game .. \" can advance the game at this time.\", player.color)\n return\n end\n else\n -- Only an admin can press the button at this time.\n broadcast_error(player.color .. \", only the host or a promoted player can advance the game at this time.\", player.color)\n return\n end\n end\n\n button_used()\n\n self.advance_game_button:disable()\n\n self:advance_game()\n :finally(\n function()\n if self.state:get_current_phase() ~= App.Phases.GAME_ENDED then\n self.advance_game_button:enable()\n end\n end\n )\n :done()\nend\n\n\nApp:add_event_listener(\"on_click_add_coal_to_market\", function(self, obj, color_name, mouse_button) if color_name == \"Grey\" then return end self:add_resource_to_market( color_name, self.resources.coal ) end)\nApp:add_event_listener(\"on_click_sub_coal_from_market\", function(self, obj, color_name, mouse_button) if color_name == \"Grey\" then return end self:sub_resource_from_market( color_name, self.resources.coal ) end)\nApp:add_event_listener(\"on_click_add_iron_to_market\", function(self, obj, color_name, mouse_button) if color_name == \"Grey\" then return end self:add_resource_to_market( color_name, self.resources.iron ) end)\nApp:add_event_listener(\"on_click_sub_iron_from_market\", function(self, obj, color_name, mouse_button) if color_name == \"Grey\" then return end self:sub_resource_from_market( color_name, self.resources.iron ) end)\n\n\nApp:add_event_listener(\"on_click_add1\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:give_money_to_player_announced(player.color, 1)\nend)\n\n\nApp:add_event_listener(\"on_click_add5\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:give_money_to_player_announced(player.color, 5)\nend)\n\n\nApp:add_event_listener(\"on_click_add15\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:give_money_to_player_announced(player.color, 15)\nend)\n\n\nApp:add_event_listener(\"on_click_pay1\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:spend_money_announced(player.color, 1)\nend)\n\n\nApp:add_event_listener(\"on_click_pay5\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:spend_money_announced(player.color, 5)\nend)\n\n\nApp:add_event_listener(\"on_click_pay15\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:spend_money_announced(player.color, 15)\nend)\n\n\nApp:add_event_listener(\"on_click_income_inc\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:income_inc(player.color)\nend)\n\n\nApp:add_event_listener(\"on_click_income_dec\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:income_dec(player.color)\nend)\n\n\nApp:add_event_listener(\"on_click_take_loan\", function(self, player, value, id)\n if not self.state:get_game_started() or not self.state:is_active_player(player.color) then return end\n self:take_loan(player.color)\nend)\n\n\nApp:add_event_listener(\"on_wallet_bowl_update\", function(self, args)\n local value = args.value\n local color_name = args.data.color_name\n local title_id = color_name .. \"Title\"\n UI.setValue(title_id, \"£\" .. value .. \" Available\")\nend)\n\n\nApp:add_event_listener(\"on_click_dummy\", function() end)\n\n\n-- ================================================================================\n-- Player's control panel window\n\nfunction App:min_max_window(color_name)\n local window_id = color_name .. \"Window\"\n local topbar_id = color_name .. \"TopBar\"\n local content_id = color_name .. \"Content\"\n if (tonumber(UI.getAttribute(window_id, \"height\")) > tonumber(UI.getAttribute(topbar_id, \"height\"))) then\n local title_height = tonumber(UI.getAttribute(topbar_id, \"height\"))\n local offset = ( self.control_panel_height - title_height ) / 2\n UI.setAttribute(window_id, \"offsetXY\", \"0 \" .. offset)\n UI.setAttribute(window_id, \"height\", title_height)\n UI.hide(content_id)\n else\n UI.setAttribute(window_id, \"offsetXY\", \"0 0\")\n UI.setAttribute(window_id, \"height\", self.control_panel_height)\n UI.show(content_id)\n end\nend\n\n\n-- ================================================================================\n-- Score board window\n\nfunction App:build_score_board()\n local score_board_rows = self.score_board_rows\n\n local padding = 1\n local major_padding = 3\n local title_height = 25\n local col_hdr_height = 149\n local row_hdr_width = 124\n local cell_width = 49\n local cell_height = 24\n\n local xs = { }\n do\n local x = padding table.insert(xs, x)\n x = x + row_hdr_width + major_padding table.insert(xs, x)\n x = x + cell_width + padding table.insert(xs, x)\n x = x + cell_width + padding table.insert(xs, x)\n x = x + cell_width + padding table.insert(xs, x)\n x = x + cell_width + padding table.insert(xs, x)\n end\n\n local ys = { }\n do\n local y = 0 - title_height - padding\n table.insert(ys, y)\n\n y = y - col_hdr_height - major_padding\n table.insert(ys, y)\n\n for i, row in ipairs(score_board_rows) do\n if row.id == \"canal_era\" or row.id == \"rail_era\" then\n y = y - cell_height - major_padding\n else\n y = y - cell_height - padding\n end\n\n table.insert(ys, y)\n end\n end\n\n local xml = UI.getXmlTable()\n\n local cell_eles = { }\n\n -- Title bar.\n table.insert(cell_eles,\n { tag=\"Panel\", attributes={ class=\"ScoreBoardTitleBar\", offsetXY=\"0 0\" }, children={\n { tag=\"Button\", attributes={ id=\"sb_hide_button\", class=\"ScoreBoardTitleBarBttn\", onClick=\"on_click_hide_score_board\" }, children={\n { tag=\"Image\", attributes={ image=\"Popup Close\" } },\n } },\n } }\n )\n\n -- Row 1: Column headers.\n table.insert(cell_eles,\n { tag=\"Panel\", attributes={ class=\"ScoreBoardCorner\", offsetXY=(xs[1]-padding)..\" \"..(ys[1]+padding) } }\n )\n for player_idx = 1, 4 do\n table.insert(cell_eles,\n { tag=\"Panel\", attributes={ id=\"sb_p\"..player_idx..\"_hdr\", class=\"ScoreBoardColHdr\", offsetXY=xs[player_idx+1]..\" \"..ys[1] }, children={\n { tag=\"Text\", attributes={ id=\"sb_p\"..player_idx..\"_name\", class=\"ScoreBoardColHdrText\" } },\n } }\n )\n end\n\n -- Remaining rows.\n for row_idx, row in ipairs(score_board_rows) do\n table.insert(cell_eles,\n { tag=\"Panel\", attributes={ class=\"ScoreBoardRowHdr\", offsetXY=xs[1]..\" \"..ys[row_idx+1] }, children={\n { tag=\"Text\", attributes={ class=\"ScoreBoardRowHdrText\" }, value=row.text },\n } }\n )\n\n for player_idx = 1, 4 do\n table.insert(cell_eles,\n { tag=\"Panel\", attributes={ class=\"ScoreBoardCell\", offsetXY=xs[player_idx+1]..\" \"..ys[row_idx+1] }, children={\n { tag=\"Text\", attributes={ id=\"sb_p\"..player_idx..\"_\"..row.id, class=\"ScoreBoardCellText\" } },\n } }\n )\n end\n end\n\n table.insert(xml,\n { tag=\"Panel\", attributes={ id=\"sb_window\", class=\"ScoreBoardWindow\", width=xs[#xs], height=-ys[#ys], active=\"false\" }, children=cell_eles }\n )\n\n UI.setXmlTable(xml, cell_eles)\n\n return\n Promise:resolve()\n :next(wait_frame)\nend\n\n\nfunction App:enable_score_board(final)\n local state = self.state\n local score_board_rows = self.score_board_rows\n\n local score_data = state:get_score_data()\n local player_names_by_color_name = state:get_player_names_by_color_name()\n\n local all_colors = table.concat(Player.getColors(), \"|\")\n local all_but_grey = table.concat(filter(Player.getColors(), |_|_ ~= \"Grey\"), \"|\")\n\n local color_names = get_keys(score_data)\n table.sort(color_names, |a,b|score_data[a].order < score_data[b].order)\n\n for player_idx, color_name in ipairs(color_names) do\n local player_score_data = score_data[color_name]\n\n UI.setAttribute(\"sb_p\"..player_idx..\"_name\", \"color\", color_name)\n UI.setValue(\"sb_p\"..player_idx..\"_name\", player_names_by_color_name[color_name])\n\n for row in ivalues(score_board_rows) do\n UI.setValue(\"sb_p\"..player_idx..\"_\"..row.id, player_score_data[row.id] or \"\")\n end\n\n if player_score_data.position == 1 and final then\n UI.setAttribute(\"sb_p\"..player_idx..\"_hdr\", \"color\", \"#222233\")\n end\n end\n\n UI.setAttribute(\"sb_hide_button\", \"visibility\", all_but_grey)\n\n UI.setAttribute(\"sb_window\", \"visibility\", all_colors)\n UI.setAttribute(\"sb_window\", \"active\", \"true\")\n\n UI.setAttribute(\"advance_game_popup_open_button\", \"visibility\", \"\")\n UI.setAttribute(\"advance_game_popup_open_button\", \"active\", \"false\")\n UI.setAttribute(\"advance_game_popup_close_button\", \"visibility\", all_but_grey)\n UI.setAttribute(\"advance_game_popup_close_button\", \"active\", \"true\")\n\n return\n Promise:resolve()\n :next(wait_frame)\nend\n\n\nfunction App:disable_score_board()\n UI.setAttribute(\"advance_game_popup_open_button\", \"active\", \"false\")\n UI.setAttribute(\"advance_game_popup_close_button\", \"active\", \"false\")\n UI.setAttribute(\"sb_window\", \"active\", \"false\")\n\n return\n Promise:resolve()\n :next(wait_frame)\nend\n\n\nlocal function adjust_visibility(id, color_name, add)\n local visibility = UI.getAttribute(id, \"visibility\")\n visibility = split(visibility, \"|\", true)\n visibility = filter(visibility, |i,v|v ~= color_name)\n if add then table.insert(visibility, color_name) end\n visibility = table.concat(visibility, \"|\")\n UI.setAttribute(id, \"visibility\", visibility)\n UI.setAttribute(id, \"active\", visibility ~= \"\")\nend\n\n\nfunction App:show_score_board(color_name)\n -- Just in case.\n if color_name == \"Grey\" then\n return\n end\n\n adjust_visibility(\"advance_game_popup_open_button\", color_name, false)\n adjust_visibility(\"advance_game_popup_close_button\", color_name, true)\n adjust_visibility(\"sb_window\", color_name, true)\nend\n\n\nfunction App:hide_score_board(color_name)\n -- Just in case.\n if color_name == \"Grey\" then\n return\n end\n\n adjust_visibility(\"advance_game_popup_open_button\", color_name, true)\n adjust_visibility(\"advance_game_popup_close_button\", color_name, false)\n adjust_visibility(\"sb_window\", color_name, false)\nend\n\n\n-- ================================================================================\n-- Announcements\n\nlocal announcement_stopper\n\nfunction App:cancel_announcement()\n if announcement_stopper then\n announcement_stopper()\n announcement_stopper = nil\n\n -- Silence\n self.objects.sound_effects.AssetBundle.playTriggerEffect(0)\n end\nend\n\n\nfunction App:announce_player_turn(color_name)\n self:cancel_announcement()\n announcement_stopper = pulse_obj(self.objects.players[color_name].mat, Color[color_name])\n TtsMsgUtils.announce_player_turn(color_name)\nend\n\n\nfunction App:announce_admin_turn()\n self:cancel_announcement()\n announcement_stopper = pulse_obj(self.objects.game_board_area, Color.Blue)\n\n local current_phase = self.state:get_current_phase()\n if current_phase < App.Phases.INTER_ERA then\n -- Tram Bell\n self.objects.sound_effects.AssetBundle.playTriggerEffect(1)\n elseif current_phase < App.Phases.GAME_ENDED then\n -- Steam Whistle\n self.objects.sound_effects.AssetBundle.playTriggerEffect(2)\n else\n -- Toot Toot\n self.objects.sound_effects.AssetBundle.playTriggerEffect(3)\n end\nend\n\n\n-- ================================================================================\n-- Sometimes, player can't see the their ownd hands.\n-- This addresses the problem.\n\nfunction App:hand_fixer()\n for color_name in pairs(self.objects.players) do\n local player = Player[color_name]\n if player.seated then\n for i, card in ipairs(player.getHandObjects()) do\n local pos = card.getPosition()\n pos.z = pos.z + 0.01\n card.setPosition(pos)\n end\n end\n end\nend\n\n\n-- ================================================================================\n-- Game advancement\n\nlocal advance_game_dispatch = const(lock({\n [ App.Phases.NOT_STARTED ] = |self|self:start_game(),\n [ App.Phases.CANAL_ERA_ROUND ] = |self|self:end_turn(),\n [ App.Phases.CANAL_ERA_INTER_ROUND ] = |self|self:end_round(),\n [ App.Phases.CANAL_ERA_SCORE ] = |self|self:end_canal_era(),\n [ App.Phases.INTER_ERA ] = |self|self:start_rail_era(),\n [ App.Phases.RAIL_ERA_ROUND ] = |self|self:end_turn(),\n [ App.Phases.RAIL_ERA_INTER_ROUND ] = |self|self:end_round(),\n [ App.Phases.RAIL_ERA_SCORE ] = |self|self:end_rail_era(),\n [ App.Phases.GAME_ENDED ] = |self|Promise:resolve(),\n}))\n\n-- Don't lock since used as lookup.\nlocal skip_validation = const({\n [ App.Phases.NOT_STARTED ] = true,\n [ App.Phases.INTER_ERA ] = true,\n [ App.Phases.GAME_ENDED ] = true,\n})\n\nfunction App:advance_game()\n local current_phase = self.state:get_current_phase()\n if not skip_validation[current_phase] then\n self:validate_board()\n end\n\n return\n advance_game_dispatch[current_phase](self)\n :finally(||self:update_ui())\nend\n\n\nfunction App:start_game()\n local state = self.state\n local objects = self.objects\n\n local is_legal_color_name = make_set(get_keys(objects.players))\n local seated_color_names = get_seated_color_names()\n local everyone_seated = true\n for color_name in ivalues(seated_color_names) do\n if not is_legal_color_name[color_name] and color_name ~= \"Black\" and color_name ~= \"Grey\" then\n broadcastToColor(color_name .. \", please change your color.\", color_name, color_name)\n everyone_seated = false\n end\n end\n\n if not everyone_seated then\n broadcast_error(\"All players must be seated to start. (Grey and Black permitted.)\", color_name)\n return Promise:resolve()\n end\n\n -- Grey and Black don't count as seated players.\n seated_color_names = filter(seated_color_names, |i,color_name|is_legal_color_name[color_name])\n local player_names_by_color_name = make_set(seated_color_names, |_|_, |_|Player[_].steam_name or _)\n\n -- Fake some players. Useful for testing.\n local num_players = #seated_color_names\n local min_players = state:get_opt_min_players()\n if min_players then\n local needed_players = min_players - num_players\n if needed_players > 0 then\n for color_name in ivalues(shuffle(get_keys(objects.players))) do\n if not player_names_by_color_name[color_name] then\n player_names_by_color_name[color_name] = color_name\n needed_players = needed_players - 1\n if needed_players == 0 then\n break\n end\n end\n end\n\n -- Subtracting needed_players hedges against invalid inputs.\n num_players = min_players - needed_players\n end\n end\n\n -- Make sure we have enough players, fake or otherwise.\n if num_players < 2 then\n broadcast_error(\"Not enough seated players.\")\n return Promise:resolve()\n end\n\n -- Update global state.\n local score_data = { }\n for color_name in keys(player_names_by_color_name) do\n score_data[color_name] = {\n position = nil,\n order = nil,\n canal_immediate = nil,\n canal_links = nil,\n canal_industries = nil,\n canal_era = nil,\n rail_immediate = nil,\n rail_links = nil,\n rail_industries = nil,\n rail_money = nil,\n rail_era = nil,\n total = 0,\n }\n end\n\n state:merge({\n current_phase = App.Phases.CANAL_ERA_ROUND,\n player_names_by_color_name = player_names_by_color_name,\n current_round = 1,\n score_data = score_data,\n })\n\n -- Destroy the start button.\n objects.start_button.destruct()\n objects.start_button = nil\n\n -- Remove absent player colors.\n for color_name, player in pairs(objects.players) do\n if not state:is_active_player(color_name) then\n player.turn_order_token.destruct()\n player.income_marker.destruct()\n player.score_marker.destruct()\n player.link_bag.destruct()\n player.canal_link.destruct()\n player.railway_link.destruct()\n objects.players[color_name] = nil\n end\n end\n\n -- Remove unused player turn positions.\n local player_turns = objects.player_turns\n for i = #player_turns, state:get_num_players()+1, -1 do\n player_turns[i].turn_order_token_zone.destruct()\n player_turns[i].bowl.destruct()\n table.remove(player_turns)\n end\n\n return self:start_canal_era()\nend\n\n\nfunction App:end_game()\n self.state:set_current_phase(App.Phases.GAME_ENDED)\n self.advance_game_button:disable()\n self:log_results()\n self:announce_winner()\nend\n\n\nfunction App:start_canal_era()\n return\n self:setup_canal_era()\n :finally(||self:start_round())\nend\n\n\nfunction App:end_canal_era()\n return\n self:end_era()\n :next(|score_info_recs|self:update_score_data(\"canal\", score_info_recs))\n :next(||self.state:set_current_phase(App.Phases.INTER_ERA))\n :next(||self:enable_score_board(false))\nend\n\n\nfunction App:start_rail_era()\n return\n self:disable_score_board()\n :next(\n function()\n local deck = self:get_deck()\n if deck then\n broadcast_error(\"Can’t proceed while there are cards in the deck area.\")\n return Promise:resolve()\n end\n\n self.state:merge({\n current_phase = App.Phases.RAIL_ERA_ROUND,\n current_round = 1,\n })\n\n self:remove_link_tiles()\n self:remove_level1_industries()\n\n return\n self:setup_rail_era()\n :next(||self:start_round())\n end\n )\nend\n\n\nfunction App:end_rail_era()\n return\n self:end_era()\n :next(|score_info_recs|self:update_score_data(\"rail\", score_info_recs))\n :next(||self:end_game())\n :next(||self:enable_score_board(true))\nend\n\n\nfunction App:end_era()\n local state = self.state\n local objects = self.objects\n\n local is_rail_era = self.state:get_current_phase() >= App.Phases.RAIL_ERA_ROUND\n\n local link_points_by_color_name = { [\"Orange\"]=0, [\"Purple\"]=0, [\"Teal\"]=0, [\"Yellow\"]=0 }\n local industry_points_by_color_name = { [\"Orange\"]=0, [\"Purple\"]=0, [\"Teal\"]=0, [\"Yellow\"]=0 }\n\n self:adjust_link_tile_values()\n\n for link_name, link_zone in pairs(objects.link_zones) do\n for obj in ivalues(link_zone.getObjects()) do\n local name, color_name = decolor(obj.getGMNotes())\n if color_name and ( name == \"Canal\" or name == \"Railway\" ) then\n link_points_by_color_name[color_name] =\n link_points_by_color_name[color_name] +\n self:get_value_of_link(link_name)\n end\n end\n end\n\n for loc_square in values(objects.location_squares) do\n local found = false\n for obj in ivalues(loc_square.getObjects()) do\n if obj.name == \"Card\" or obj.name == \"Custom_Tile\" then\n local name, color_name = decolor(obj.getGMNotes())\n local data = self.industry_tile_data[name]\n if data then\n industry_points_by_color_name[color_name] =\n industry_points_by_color_name[color_name] +\n obj.getRotationValue()\n end\n end\n end\n end\n\n local score_data = state:get_score_data()\n\n local score_info_recs = { }\n for color_name in ivalues(state:get_active_players()) do\n local player = objects.players[color_name]\n local score_marker = player.score_marker\n local income_marker = player.income_marker\n local wallet_bowl = player.wallet_bowl\n\n local money = self:update_bowl(wallet_bowl)\n\n local income_of = self:get_track_position_offset(income_marker)\n local income = self:income_by_track_offset(income_of)\n\n local earlier_points = score_data[color_name].total\n local immediate_vps = self:get_track_position_offset(score_marker) - earlier_points\n local link_points = link_points_by_color_name[color_name]\n local industry_points = industry_points_by_color_name[color_name]\n local money_points = ( self.money_value and self.money_value > 0 and is_rail_era ) and math.floor( money / self.money_value ) or 0\n local points = immediate_vps + money_points + link_points + industry_points\n local total = earlier_points + points\n\n table.insert(score_info_recs, {\n order = nil, -- Populated below. Provides consistent ordering in the event of ties.\n position = nil, -- Populated below.\n color_name = color_name,\n earlier_points = earlier_points,\n immediate_vps = immediate_vps,\n link_points = link_points,\n industry_points = industry_points,\n money_points = money_points,\n points = points,\n total = total,\n income = income, -- First tie-breaker.\n money = money, -- Second tie-breaker.\n })\n\n local num_track_zones = #objects.track_zones\n while total >= num_track_zones do total = total - num_track_zones end\n while total < 0 do total = total + num_track_zones end\n end\n\n -- This particular compare function returns the following:\n -- <0 if `a` placed better than `b`,\n -- >0 if `a` placed worse than `b`, or\n -- =0 if the event of a tie.\n local function compare(a, b)\n local diff = a.total - b.total\n if diff ~= 0 then\n return diff\n end\n\n local diff = a.income - b.income\n if diff ~= 0 then\n return diff\n end\n\n return a.money - b.money\n end\n\n table.sort(score_info_recs, |a,b|compare(a,b) > 0)\n\n local prev\n local position = 1\n local skip = 0\n for i, score_info_rec in ipairs(score_info_recs) do\n local color_name = score_info_rec.color_name\n\n if prev ~= nil then\n if compare(score_info_rec, prev) == 0 then\n skip = skip + 1\n else\n position = position + skip + 1\n skip = 0\n end\n end\n\n score_info_rec.order = i\n score_info_rec.position = position\n\n prev = score_info_rec\n end\n\n\n local promise = Promise:resolve()\n for score_info_rec in divalues(score_info_recs) do\n local color_name = score_info_rec.color_name\n local player = objects.players[color_name]\n local score_marker = player.score_marker\n\n -- We want the moves to happen seqentially because moving\n -- more than one to the same location can knock them over.\n promise = promise:next(\n function()\n local msg =\n \"#\" .. score_info_rec.position .. \": \" ..\n color_name .. \" scored \" ..\n score_info_rec.points .. \" points for a total of \" ..\n score_info_rec.total .. \"! (\" ..\n score_info_rec.link_points .. \" for links, \" ..\n score_info_rec.industry_points .. \" for industries\"\n\n if self.money_value and self.money_value > 0 and is_rail_era then\n msg = msg .. \", \" .. score_info_rec.money_points .. \" for money\"\n end\n\n msg = msg .. \")\"\n\n printToAll(msg, color_name)\n\n return self:move_marker(score_marker, score_info_rec.total)\n end\n )\n\n -- We want to proceed even if an error occurs. But at the\n -- same time, we don't want to silence errors.\n promise = promise:done()\n end\n\n return promise:next(||score_info_recs)\nend\n\n\nfunction App:start_round()\n return\n self:do_start_round()\n :finally(\n function()\n local state = self.state\n\n if state:get_current_phase() == App.Phases.CANAL_ERA_ROUND then\n print_info(\"Start of Canal Era Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds() .. \"!\")\n else\n print_info(\"Start of Rail Era Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds() .. \"!\")\n end\n\n self:announce_player_turn(state:get_current_player())\n end\n )\nend\n\n\nfunction App:do_start_round()\n local state = self.state\n\n local promises = { }\n\n local turn_order = self:determine_new_turn_order()\n table.insert(promises, self:update_turn_order_tokens(turn_order))\n state:set_current_player(turn_order[1])\n table.insert(promises, self:refill_hands(state:get_active_players()))\n table.insert(promises, self:give_income())\n self:empty_spent_money()\n table.insert(promises, self:clear_discards())\n self:adjust_link_tile_values()\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction App:end_round()\n local state = self.state\n\n state:merge({\n current_phase = state:get_current_phase() == App.Phases.CANAL_ERA_INTER_ROUND\n and App.Phases.CANAL_ERA_ROUND\n or App.Phases.RAIL_ERA_ROUND,\n current_round = state:get_current_round() + 1,\n })\n\n return self:start_round()\nend\n\n\nfunction App:end_turn()\n local state = self.state\n\n local current_player = state:get_current_player()\n\n local promises = { }\n\n table.insert(promises, self:refill_hands({ current_player }))\n self:adjust_link_tile_values()\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\n :finally(\n function()\n local current_player = self:get_next_color_name()\n state:set_current_player(current_player)\n if current_player then\n self:announce_player_turn(current_player)\n else\n if state:get_current_round() == state:get_num_rounds() then\n state:set_current_round(nil)\n if state:get_current_phase() == App.Phases.CANAL_ERA_ROUND then\n broadcast_info(\"End of the Canal Era!\")\n print_info(\"Your points will be calculated once you click the button.\")\n state:set_current_phase(App.Phases.CANAL_ERA_SCORE)\n else\n broadcast_info(\"End of the Game!\")\n print_info(\"Your points will be calculated once you click the button.\")\n state:set_current_phase(App.Phases.RAIL_ERA_SCORE)\n end\n else\n if state:get_current_phase() == App.Phases.CANAL_ERA_ROUND then\n broadcast_info(\"End of Canal Era Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds() .. \"!\")\n state:set_current_phase(App.Phases.CANAL_ERA_INTER_ROUND)\n else\n broadcast_info(\"End of Rail Era Round \" .. state:get_current_round() .. \" of \" .. state:get_num_rounds() .. \"!\")\n state:set_current_phase(App.Phases.RAIL_ERA_INTER_ROUND)\n end\n end\n end\n end\n )\nend\n\n\n-- ================================================================================\n-- Setup\n\nfunction App:setup_canal_era()\n -- Randomize player colors.\n local turn_order = shuffle(self.state:get_active_players())\n self.state:set_current_player(turn_order[1])\n\n local promises = { }\n table.insert(promises, self:update_turn_order_tokens(turn_order, true))\n table.insert(promises,\n self:setup_deck_canal_era()\n :next(|deck|self:deal_dead_card_to_players(deck))\n )\n table.insert(promises, self:provide_links(\"canal_link\", \"Canals\"))\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction App:setup_rail_era()\n local promises = { }\n table.insert(promises, self:setup_deck_rail_era())\n table.insert(promises, self:provide_links(\"railway_link\", \"Railways\"))\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- Grab the correct deck of cards.\n-- Destroy the other bags of deck of cards.\nfunction App:setup_deck_canal_era()\n local objects = self.objects\n\n local num_players = self.state:get_num_players()\n\n local promise\n for i, card_deck_bag in ipairs(objects.card_deck_bags) do\n if i == num_players - 1 then\n local play_deck_zone = objects.play_deck_zone\n promise =\n take_object(card_deck_bag, {\n position = play_deck_zone.getPosition(),\n rotation = play_deck_zone.getRotation(),\n })\n :next(\n function(deck)\n deck.shuffle()\n return deck\n end\n )\n :next(|deck|wait_frame(deck))\n :next(|deck|wait_condition(||deck.resting, deck, 3, \"Timeout setting up deck.\"))\n else\n card_deck_bag.destruct()\n objects.card_deck_bags[i] = nil\n end\n end\n\n return promise\nend\n\n\nfunction App:deal_dead_card_to_players(deck)\n local promises = { }\n for color_name in ivalues(self.state:get_active_players()) do\n table.insert(promises,\n take_object(deck, {\n position = self.objects.players[color_name].discard_areas[1].getPosition(),\n rotation = { 0.00, 180.00, 180.00 },\n })\n :next(\n function(card)\n card.setLock(true)\n end\n )\n )\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction App:provide_links(link_type, link_name)\n local promises = { }\n for color_name in ivalues(self.state:get_active_players()) do\n local player = self.objects.players[color_name]\n\n local bag = player.link_bag\n bag.reset() -- Empties it.\n bag.setName(color_name .. \" \" .. link_name)\n\n local tile = player[link_type]\n local tile_data = tile.getData()\n local pos = get_drop_pos(tile, bag)\n local y_inc = get_abs_height(tile) * 2\n pos.y = pos.y + y_inc / 2\n for i = 1, 14 do\n table.insert(promises,\n spawn_object_from_data({ data = tile_data, position = pos })\n :next(|copy|wait_condition(||copy == nil, copy, 3, \"Timeout populating link bags.\"))\n )\n pos.y = pos.y + y_inc\n end\n\n tile.destruct()\n player[link_type] = nil\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- Grab a fresh deck of cards.\n-- Destroy the bags of deck of cards afterwards.\nfunction App:setup_deck_rail_era()\n local objects = self.objects\n local num_players = self.state:get_num_players()\n local card_deck_bag = objects.card_deck_bags[ num_players - 1 ]\n local play_deck_zone = objects.play_deck_zone\n return\n take_object(card_deck_bag, {\n position = play_deck_zone.getPosition(),\n rotation = play_deck_zone.getRotation(),\n })\n :next(\n function(deck)\n deck.shuffle()\n card_deck_bag.destruct()\n objects.card_deck_bags[ num_players - 1 ] = nil\n return deck\n end\n )\n :next(|deck|wait_frame(deck))\n :next(|deck|wait_condition(||deck.resting, deck, 3, \"Timeout setting up deck.\"))\nend\n\n\nfunction App:remove_link_tiles()\n for link_name, link_zone in pairs(self.objects.link_zones) do\n for obj in ivalues(link_zone.getObjects()) do\n local name = decolor(obj.getGMNotes())\n -- Railways are often used by accident.\n if name == \"Canal\" or name == \"Railway\" then\n obj.destruct()\n end\n end\n end\nend\n\n\nfunction App:remove_level1_industries()\n for loc_square in values(self.objects.location_squares) do\n local found = false\n for obj in ivalues(loc_square.getObjects()) do\n if obj.name == \"Card\" or obj.name == \"Custom_Tile\" then\n local name = decolor(obj.getGMNotes())\n local data = self.industry_tile_data[name]\n if data and data.level == 1 then\n obj.destruct()\n found = true\n end\n end\n end\n\n if found then\n for obj in ivalues(loc_square.getObjects()) do\n local name = obj.getGMNotes()\n if self.resource_id_by_name[name] then\n obj.destruct()\n end\n end\n end\n end\nend\n\n\n-- ================================================================================\n-- Hands\n\n-- XXX This counts all objects, not just cards. Good enough?\nfunction App:get_hand_card_count(color_name)\n local player = Player[color_name]\n return #player.getHandObjects()\nend\n\n\nfunction App:refill_hands(color_names)\n local deck = self:get_deck()\n if not deck then\n return Promise:resolve()\n end\n\n -- Avoid failing if there are fewer cards than there should be.\n local card_count\n if deck.name == \"Deck\" then\n card_count = #deck.getObjects()\n else\n card_count = 1\n end\n\n local promises = { }\n local total_short = 0\n for color_name in ivalues(color_names) do\n local needs = 8 - self:get_hand_card_count(color_name)\n if needs > 0 then\n local short = 0\n if needs > card_count then\n -- Should never reach this.\n short = needs - card_count\n total_short = total_short + short\n end\n\n card_count = card_count - ( needs - short )\n deck.deal(( needs - short ), color_name)\n table.insert(promises,\n wait_condition(\n ||self:get_hand_card_count(color_name) == ( 8 - short ),\n nil, 3, ||reject(\"Timeout dealing cards.\")\n )\n )\n end\n end\n\n if total_short > 0 then\n broadcast_error(total_short .. \" cards short! Continuing nonetheless.\")\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- ================================================================================\n-- Turn order\n\nfunction App:get_player_turn_index(color_name)\n local player_turns = self.objects.player_turns\n\n for i = 1, self.state:get_num_players() do\n local zone = player_turns[i].turn_order_token_zone\n for obj in ivalues(zone.getObjects()) do\n local name, token_color_name = decolor(obj.getGMNotes())\n if name == \"Player\" then\n if token_color_name == color_name then\n return i\n end\n\n break\n end\n end\n end\n\n return nil\nend\n\n\nfunction App:get_next_color_name()\n local player_turns = self.objects.player_turns\n local current_player = self.state:get_current_player()\n\n local found_current = false\n for i = 1, self.state:get_num_players() do\n local zone = player_turns[i].turn_order_token_zone\n for obj in ivalues(zone.getObjects()) do\n local name, token_color_name = decolor(obj.getGMNotes())\n if name == \"Player\" then\n if token_color_name == current_player then\n found_current = true\n elseif found_current then\n return token_color_name\n end\n\n break\n end\n end\n end\n\n return nil\nend\n\n\nfunction App:determine_new_turn_order()\n local spending_data = { }\n for i = 1, self.state:get_num_players() do\n local player_turn = self.objects.player_turns[i]\n\n local zone = player_turn.turn_order_token_zone\n local color_name = nil\n for obj in ivalues(zone.getObjects()) do\n local name, token_color_name = decolor(obj.getGMNotes())\n if name == \"Player\" then\n color_name = token_color_name\n break\n end\n end\n\n local bowl = player_turn.bowl\n local spent = tonumber(bowl.getButtons()[1].label)\n table.insert(spending_data, { color_name = color_name, spent = spent, orig_pos = i })\n end\n\n table.sort(spending_data,\n function(a, b)\n if a.spent ~= b.spent then\n return a.spent < b.spent\n end\n\n return a.orig_pos < b.orig_pos\n end\n )\n\n return map(spending_data, |_|_.color_name)\nend\n\n\nfunction App:update_turn_order_tokens(turn_order, randomize)\n local promises = { }\n for player_num, color_name in ipairs(turn_order) do\n local zone = self.objects.player_turns[player_num].turn_order_token_zone\n local token = self.objects.players[color_name].turn_order_token\n\n local transform = {\n position = zone.getPosition(),\n }\n\n if randomize and math.random(0, 1) == 1 then\n local rotation = token.getRotation()\n rotation.z = ( rotation.z + 180 ) % 360\n transform.rotation = rotation\n end\n\n table.insert(promises,\n set_transform_smooth(token, transform)\n :catch(||error(\"Error moving turn order token\"))\n )\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- ================================================================================\n-- Discard pile manipulations\n\nfunction App:get_discarded_count(color_name, idx)\n local discard_area = self.objects.players[color_name].discard_areas[idx]\n local count = 0\n for obj in ivalues(discard_area.getObjects()) do\n if obj.name == \"Card\" then\n count = count + 1\n elseif obj.name == \"Deck\" then\n for obj in ivalues(obj.getObjects()) do\n count = count + 1\n end\n end\n end\n\n return count\nend\n\n\nfunction App:clear_discarded_card(card)\n card.destruct()\n return Promise:resolve()\nend\n\n\nfunction App:clear_discarded_deck(deck)\n deck.destruct()\n return Promise:resolve()\nend\n\n\nfunction App:clear_discards()\n if self.state:get_current_phase() == App.Phases.CANAL_ERA_ROUND and self.state:get_current_round() == 1 then\n return Promise:resolve()\n end\n\n local promises = { }\n for color_name in ivalues(self.state:get_active_players()) do\n for discard_area in ivalues(self.objects.players[color_name].discard_areas) do\n for obj in ivalues(discard_area.getObjects()) do\n if obj.name == \"Card\" then\n table.insert(promises, self:clear_discarded_card(obj))\n elseif obj.name == \"Deck\" then\n table.insert(promises, self:clear_discarded_deck(obj))\n end\n end\n end\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- ================================================================================\n-- Coal and iron market manipulations\n\nfunction App:add_resource_to_market(color_name, resource)\n for i, zone in dipairs(resource.market_zones) do\n local has_resource = false\n for obj in ivalues(zone.getObjects()) do\n if obj.getGMNotes() == resource.resource_name then\n has_resource = true\n break\n end\n end\n\n if not has_resource then\n local value = math.floor((i+1) / 2)\n resource.bag.takeObject({ position=zone.getPosition(), smooth=false })\n printToAll(color_name .. \" added \" .. resource.resource_name .. \" valued at £\" .. value .. \".\", color_name)\n break\n end\n end\nend\n\n\nfunction App:sub_resource_from_market(color_name, resource)\n for i, zone in ipairs(resource.market_zones) do\n local had_resource = false\n for obj in ivalues(zone.getObjects()) do\n if obj.getGMNotes() == resource.resource_name then\n obj.destruct()\n local value = math.floor((i+1) / 2)\n printToAll(color_name .. \" removed \" .. resource.resource_name .. \" valued at £\" .. value .. \".\", color_name)\n had_resource = true\n break\n end\n end\n\n if had_resource then\n break\n end\n end\nend\n\n\n-- ================================================================================\n-- Money.\n\nfunction App:empty_spent_money()\n for i = 1, self.state:get_num_players() do\n self.objects.player_turns[i].bowl.call(\"empty\")\n end\nend\n\n\nfunction App:update_bowl(bowl)\n return bowl.call(\"countItems\")\nend\n\n\nfunction App:add_coin_to_bowl(bowl, coin_name)\n local pos = bowl.getPosition()\n local scale = bowl.getScale()\n local range = scale.x * 0.8\n pos.x = pos.x + math.random() * range * 2 - range\n pos.y = pos.y + scale.y * 2.25\n pos.z = pos.z + math.random() * range * 2 - range\n\n local bag = self.objects.money_bags[coin_name]\n return take_object(bag, {\n position = pos,\n rotation = { 0, 180, 0 },\n smooth = false,\n })\nend\n\n\n-- `amount` must be non-negative.\nfunction App:add_money_to_bowl(bowl, amount)\n local promises = { }\n while amount >= 15 do table.insert(promises, self:add_coin_to_bowl(bowl, \"Gold\")) amount = amount - 15 end\n while amount >= 5 do table.insert(promises, self:add_coin_to_bowl(bowl, \"Silver\")) amount = amount - 5 end\n while amount >= 1 do table.insert(promises, self:add_coin_to_bowl(bowl, \"Bronze\")) amount = amount - 1 end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\n :finally(||self:update_bowl(bowl))\nend\n\n\n-- `amount` must be non-negative.\nfunction App:give_money_to_player_announced(color_name, amount)\n local wallet_bowl = self.objects.players[color_name].wallet_bowl\n self:add_money_to_bowl(wallet_bowl, amount)\n :finally(\n function()\n printToAll(color_name .. \" received £\" .. amount .. \".\", color_name)\n end\n )\n :done()\nend\n\n\n-- This only works if there can't be stacks of coins.\nfunction App:sift_bowl_contents(bowl_contents)\n local coins = {\n [ \"Gold\" ] = { },\n [ \"Silver\" ] = { },\n [ \"Bronze\" ] = { },\n }\n\n for obj in ivalues(bowl_contents) do\n local name = obj.getGMNotes()\n if coins[name] then\n table.insert(coins[name], obj)\n end\n end\n\n return coins\nend\n\n\n-- amount must be non-negative.\n-- Primarily, we want to create the fewest coins possible.\n-- Secondarily, we want to remove the most coins possible.\nfunction App:remove_money_from_player(color_name, amount, spent)\n local wallet_bowl = self.objects.players[color_name].wallet_bowl\n if amount == 0 then\n return Promise:resolve()\n end\n\n local initial_total = self:update_bowl(wallet_bowl)\n local final_total = initial_total + amount\n if initial_total < amount then\n return Promise:reject(App.Errors.EINSUFFICIENT_FUNDS)\n end\n\n local spent_bowl\n if spent then\n local player_turn_index = self:get_player_turn_index(color_name)\n if player_turn_index then\n spent_bowl = self.objects.player_turns[player_turn_index].bowl\n else\n error(\"Can’t find turn order token for \" .. color_name)\n end\n end\n\n local ones = amount\n local fifteens = math.floor(ones / 15)\n ones = ones - fifteens * 15\n local fives = math.floor(ones / 5)\n ones = ones - fives * 5\n\n local bowl_contents = wallet_bowl.getTable(\"itemsInBowl\")\n local coins = self:sift_bowl_contents(bowl_contents)\n local coin_counts = map(coins, |_|#_)\n\n -- ----------\n -- Bronze\n\n -- Make change if necessary.\n if coin_counts[ \"Bronze\" ] < ones then\n if coin_counts[\"Silver\"] >= 1 then\n coin_counts[ \"Silver\" ] = coin_counts[ \"Silver\" ] - 1\n coin_counts[ \"Bronze\" ] = coin_counts[ \"Bronze\" ] + 5\n elseif coin_counts[\"Gold\"] >= 1 then\n coin_counts[ \"Gold\" ] = coin_counts[ \"Gold\" ] - 1\n coin_counts[ \"Silver\" ] = coin_counts[ \"Silver\" ] + 2\n coin_counts[ \"Bronze\" ] = coin_counts[ \"Bronze\" ] + 5\n end\n end\n\n coin_counts[ \"Bronze\" ] = coin_counts[ \"Bronze\" ] - ones\n\n -- ----------\n -- Silver\n\n -- Get rid of the most coins possible to avoid overflowing.\n while fives >= 1 and coin_counts[ \"Bronze\" ] >= 5 do\n coin_counts[ \"Bronze\" ] = coin_counts[ \"Bronze\" ] - 5\n fives = fives - 1\n end\n\n -- Make change if necessary.\n if coin_counts[ \"Silver\" ] < fives then\n if coin_counts[\"Gold\"] >= 1 then\n coin_counts[ \"Gold\" ] = coin_counts[ \"Gold\" ] - 1\n coin_counts[ \"Silver\" ] = coin_counts[ \"Silver\" ] + 3\n end\n end\n\n coin_counts[ \"Silver\" ] = coin_counts[ \"Silver\" ] - fives\n\n -- ----------\n -- Gold\n\n -- Get rid of the most coins possible to avoid overflowing.\n while fifteens >= 1 and coin_counts[ \"Bronze\" ] >= 15 do\n coin_counts[ \"Bronze\" ] = coin_counts[ \"Bronze\" ] - 15\n fifteens = fifteens - 1\n end\n\n if fifteens >= 1 then\n if coin_counts[ \"Silver\" ] >= 1 and coin_counts[ \"Bronze\" ] >= 10 then\n coin_counts[ \"Silver\" ] = coin_counts[ \"Silver\" ] - 1\n coin_counts[ \"Bronze\" ] = coin_counts[ \"Bronze\" ] - 10\n fifteens = fifteens - 1\n elseif coin_counts[ \"Silver\" ] >= 2 and coin_counts[ \"Bronze\" ] >= 5 then\n coin_counts[ \"Silver\" ] = coin_counts[ \"Silver\" ] - 2\n coin_counts[ \"Bronze\" ] = coin_counts[ \"Bronze\" ] - 5\n fifteens = fifteens - 1\n end\n end\n\n while fifteens >= 1 and coin_counts[ \"Silver\" ] >= 3 do\n coin_counts[ \"Silver\" ] = coin_counts[ \"Silver\" ] - 3\n fifteens = fifteens - 1\n end\n\n coin_counts[ \"Gold\" ] = coin_counts[ \"Gold\" ] - fifteens\n\n -- ----------\n -- Reconcilation\n\n local promises = { }\n for coin_name in ivalues({ \"Gold\", \"Silver\", \"Bronze\" }) do\n local diff = coin_counts[coin_name] - #coins[coin_name]\n if diff < 0 then -- If there are more coins then there should be.\n local to_remove = -diff\n for i = 1, to_remove do\n table.remove(coins[coin_name]).destruct()\n end\n elseif diff > 0 then -- If there are fewer coins then there should be.\n local to_add = diff\n for i = 1, to_add do\n table.insert(promises, self:add_coin_to_bowl(wallet_bowl, coin_name))\n end\n end\n end\n\n if spent_bowl then\n table.insert(promises, self:add_money_to_bowl(spent_bowl, amount))\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\n :finally(\n function()\n self:update_bowl(wallet_bowl)\n if spent_bowl then\n self:update_bowl(spent_bowl)\n end\n end\n )\nend\n\n\n-- amount must be non-negative.\nfunction App:spend_money_announced(color_name, amount)\n self:remove_money_from_player(color_name, amount, true)\n :next(\n function(result)\n printToAll(color_name .. \" paid £\" .. amount .. \".\", color_name)\n end,\n function(reason)\n if reason == App.Errors.EINSUFFICIENT_FUNDS then\n broadcast_error(color_name .. \", you don’t not have enough money to pay £\" .. amount .. \".\", color_name)\n else\n broadcast_error(\"Error trying to pay \" .. amount .. \": \" .. reason)\n end\n end\n )\nend\n\n\n-- ================================================================================\n-- Income.\n\n-- Used for both the income marker and the score marker.\nfunction App:get_track_position_offset(marker) -- 0-based\n local i = find_zone(self.objects.track_zones, marker)\n return i and i-1 or nil\nend\n\n\n-- Used for both the income marker and the score marker.\nfunction App:move_marker(marker, ofs, instant) -- 0-based\n local zones = self.objects.track_zones\n local zone = zones[ ( ofs % #zones ) + 1 ]\n if instant then\n return\n move_atop(marker, zone, { protrusion = 0.5, rotation = true })\n :catch(||error(\"Error moving marker\"))\n else\n return\n move_atop_smooth(marker, zone, { protrusion = 0.5, rotation = true })\n :catch(||error(\"Error moving marker\"))\n end\nend\n\n\nfunction App:income_by_track_offset(ofs) -- 0-based\n if ofs <= 10 then return math.modf( ( ofs - 0 ) / 1 ) + -10\n elseif ofs <= 30 then return math.modf( ( ofs - 11 ) / 2 ) + 1\n elseif ofs <= 60 then return math.modf( ( ofs - 31 ) / 3 ) + 11\n elseif ofs <= 100 then return math.modf( ( ofs - 61 ) / 4 ) + 21\n else return 30\n end\nend\n\n\n-- Gives the top spot of group.\nfunction App:track_offset_by_income(income) -- 0-based\n if income <= 0 then return ( income - -10 ) * 1 + 0\n elseif income <= 10 then return ( income - 1 ) * 2 + 12\n elseif income <= 20 then return ( income - 11 ) * 3 + 33\n else return ( income - 21 ) * 4 + 64\n end\nend\n\n\nfunction App:income_inc(color_name)\n local player = self.objects.players[color_name]\n local marker = player.income_marker\n local old_ofs = self:get_track_position_offset(marker)\n local new_ofs = old_ofs + 1\n self:move_marker(marker, new_ofs, true)\n :finally(\n function()\n printToAll(color_name .. \" increased their income by one position to \" .. new_ofs .. \" (from \" .. old_ofs .. \").\", color_name)\n end\n )\n :done()\nend\n\n\nfunction App:income_dec(color_name)\n local player = self.objects.players[color_name]\n local marker = player.income_marker\n local old_ofs = self:get_track_position_offset(marker)\n local new_ofs = old_ofs - 1\n\n if new_ofs < 0 then\n broadcast_error(color_name .. \", you can’t reduce your income any further as it is already at the minimum!\", color_name)\n return\n end\n\n self:move_marker(marker, new_ofs, true)\n :finally(\n function()\n printToAll(color_name .. \" reduced their income to position \" .. new_ofs .. \" (from \" .. old_ofs .. \").\", color_name)\n end\n )\n :done()\nend\n\n\nfunction App:take_loan(color_name)\n local player = self.objects.players[color_name]\n local marker = player.income_marker\n local wallet_bowl = player.wallet_bowl\n\n local old_ofs = self:get_track_position_offset(marker)\n local income = self:income_by_track_offset(old_ofs)\n\n local loan_amount = self.loan_amount\n local loan_steps = loan_amount / 10\n\n income = income - loan_steps\n if income < -10 then\n broadcast_error(color_name .. \", you can’t take out a loan as you would exceed 10 interest!\", color_name)\n return\n end\n\n local promises = { }\n local new_ofs = self:track_offset_by_income(income)\n table.insert(promises, self:move_marker(marker, new_ofs, true))\n table.insert(promises, self:add_money_to_bowl(wallet_bowl, loan_amount))\n\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\n :finally(\n function()\n printToAll(color_name .. \" took a loan. They gained £\".. loan_amount .. \" and their income was decreased by \" .. loan_steps .. \" steps to \" .. income .. \" (from position \" .. old_ofs .. \").\", color_name)\n end\n )\n :done()\nend\n\n\nfunction App:give_initial_funds()\n local promises = { }\n for color_name in ivalues(self.state:get_active_players()) do\n local wallet_bowl = self.objects.players[color_name].wallet_bowl\n table.insert(promises, self:add_money_to_bowl(wallet_bowl, self.initial_funds))\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction App:give_income()\n if self.state:get_current_phase() == App.Phases.CANAL_ERA_ROUND and self.state:get_current_round() == 1 then\n return self:give_initial_funds()\n end\n\n local incomes = { }\n for i, zone in ipairs(self.objects.track_zones) do\n for obj in ivalues(zone.getObjects()) do\n local name, color_name = decolor(obj.getGMNotes())\n if name == \"Income Marker\" then\n incomes[color_name] = self:income_by_track_offset(i-1)\n end\n end\n end\n\n local promises = { }\n for color_name in ivalues(self.state:get_active_players()) do\n table.insert(promises, Promise:new(\n function(resolve, reject)\n local player = self.objects.players[color_name]\n local wallet_bowl = player.wallet_bowl\n local income = incomes[color_name]\n local remaining = income\n if income == nil then\n reject(\"No income marker found for \" .. color_name)\n elseif income < 0 then\n resolve(\n self:remove_money_from_player(color_name, -income, false)\n :next(\n function(result)\n broadcastToAll(color_name .. \" lost £\" .. (-income) .. \" to interest!\", color_name)\n end,\n function(reason)\n if reason == App.Errors.EINSUFFICIENT_FUNDS then\n broadcast_error(color_name .. \" doesn’t have enough money to cover the interest of £\" .. (-income) .. \"!\")\n else\n broadcast_error(\"Error trying to pay \" .. amount .. \": \" .. reason)\n end\n end\n )\n )\n elseif income > 0 then\n resolve(\n self:add_money_to_bowl(wallet_bowl, income)\n :finally(\n function()\n broadcastToAll(color_name .. \" gained £\" .. income .. \" in income!\", color_name)\n end\n )\n )\n else\n broadcastToAll(color_name .. \" did not earn any income.\", color_name)\n resolve()\n end\n end\n ))\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\n-- ================================================================================\n-- Board validation\n\nfunction App:validate_links()\n local objects = self.objects\n\n local game_board = objects.game_board\n local game_table = objects.game_table\n\n local is_canal_era = self.state:get_current_phase() < App.Phases.RAIL_ERA_ROUND\n local link_era_prop = is_canal_era and \"canal\" or \"rail\"\n local required_link_obj_type = is_canal_era and \"Canal\" or \"Railway\"\n\n for link_name, link in pairs(self.links) do\n local link_zone = objects.link_zones[link_name]\n\n if link[link_era_prop] then\n local found = false\n for obj in ivalues(link_zone.getObjects()) do\n local name = decolor(obj.getGMNotes())\n if obj.name == \"Custom_Tile\" and name == required_link_obj_type then\n if found then\n broadcast_error(\"Unexpected object found for link \" .. link_name .. \"!\")\n break\n end\n\n found = true\n elseif obj == game_board or obj == game_table then\n -- Ignore the game board and the game table.\n else\n broadcast_error(\"Unexpected object found for link \" .. link_name .. \"!\")\n break\n end\n end\n else\n for obj in ivalues(link_zone.getObjects()) do\n if obj == game_board or obj == game_table then\n -- Ignore the game board and the game table.\n else\n broadcast_error(\"Unexpected object found for link \" .. link_name .. \"!\")\n break\n end\n end\n end\n end\nend\n\n\nfunction App:validate_locations(loc_name)\n local objects = self.objects\n\n local game_board = objects.game_board\n local game_table = objects.game_table\n\n for loc_name, location in pairs(self.locations) do\n if not self.bonuses_by_external_location[loc_name] then\n local tiles = { }\n\n for loc_square_name in values(location) do\n local loc_square = objects.location_squares[loc_square_name]\n\n local found = false\n local next_location = false\n for obj in ivalues(loc_square.getObjects()) do\n local obj_is_tile = false\n if obj.name == \"Card\" or obj.name == \"Custom_Tile\" then\n local name = decolor(obj.getGMNotes())\n local tile_data = self.industry_tile_data[name]\n if tile_data then\n if found or tiles[obj] then\n broadcast_error(\"Unexpected object found at \" .. loc_square_name .. \"!\")\n print_error(\"Check for stacks and for tiles spanning multiple locations.\")\n next_location = true\n break\n end\n\n found = true -- Check for multiple tiles at the same location.\n tiles[obj] = true -- Check for tiles that span more than one location.\n\n obj_is_tile = true\n end\n end\n\n if not obj_is_tile then\n if self.resource_id_by_name[ obj.getGMNotes() ] then\n -- Ignore Coal, Iron and Beer.\n elseif obj == game_board or obj == game_table then\n -- Ignore the game board and the game table.\n else\n broadcast_error(\"Unexpected object found at \" .. loc_square_name .. \"!\")\n print_error(\"Check for stacks and for tiles spanning multiple locations.\")\n next_location = true\n break\n end\n end\n end\n\n if next_location then\n break\n end\n end\n end\n end\nend\n\n\nfunction App:validate_board()\n self:validate_links()\n self:validate_locations()\nend\n\n\n-- ================================================================================\n-- Link state calculation\n\n-- Doesn't validate.\nfunction App:get_value_of_location_for_link(loc_name)\n if self.bonuses_by_external_location[loc_name] then\n return self.bonuses_by_external_location[loc_name]\n end\n\n local location = self.locations[loc_name]\n local value = 0\n for loc_square_name in values(location) do\n local loc_square = self.objects.location_squares[loc_square_name]\n for obj in ivalues(loc_square.getObjects()) do\n if obj.name == \"Card\" or obj.name == \"Custom_Tile\" then\n local name = decolor(obj.getGMNotes())\n local tile_data = self.industry_tile_data[name]\n if tile_data and obj.is_face_down then\n value = value + tile_data.link_points\n end\n end\n end\n end\n\n return value\nend\n\n\n-- Doesn't validate.\nfunction App:get_value_of_link(link_name)\n local value = 0\n for loc_name in ivalues(self.loc_names_by_link_name[link_name]) do\n value = value + self:get_value_of_location_for_link(loc_name)\n end\n\n return value\nend\n\n\n-- Doesn't validate.\nfunction App:adjust_link_tile_value(link_name)\n local link_zone = self.objects.link_zones[link_name]\n for obj in ivalues(link_zone.getObjects()) do\n local name = decolor(obj.getGMNotes())\n if obj.name == \"Custom_Tile\" and ( name == \"Canal\" or name == \"Railway\" ) then\n local value = self:get_value_of_link(link_name)\n local state_id\n if value == 0 then\n state_id = App.MAX_LINK_VALUE + 1\n elseif value > App.MAX_LINK_VALUE then\n -- Hmmm, we got a higher value than we expect to be possible.\n -- It will still be scored correctly.\n state_id = App.MAX_LINK_VALUE\n else\n state_id = value\n end\n\n if state_id and state_id ~= obj.getStateId() then\n obj.setState(state_id)\n end\n end\n end\nend\n\n\n-- Doesn't validate.\nfunction App:adjust_link_tile_values()\n for link_name in keys(self.links) do\n self:adjust_link_tile_value(link_name)\n end\nend\n\n\n-- ================================================================================\n-- Version\n\nfunction App:get_version_from_log(change_log)\n local s, e = string.find(change_log, \"^%[.-%]\")\n if not s then\n return nil\n end\n\n return string.sub(change_log, s, e)\nend\n\n\nfunction App:get_version()\n return Promise:new(\n function(resolve, reject)\n local change_log_tab = first(Notes.getNotebookTabs(), |i,tab|tab.title == \"Change Log\")\n if not change_log_tab then\n reject(\"Can't find Change Log.\")\n return\n end\n\n local change_log = change_log_tab.body\n local version = self:get_version_from_log(change_log)\n if not version then\n reject(\"Can't determine version from Change Log.\")\n return\n end\n\n resolve(version)\n end\n )\nend\n\n\nfunction App:get_latest_change_log()\n local url = \"https://raw.githubusercontent.com/ikegami/tts_brass/latest/notes/\" .. self.mod_name .. \"/Change%20Log.txt\"\n return TtsWebRequest.get(url)\nend\n\n\nfunction App:check_if_latest()\n return\n Promise:all({\n self:get_version(),\n self:get_latest_change_log()\n })\n :next(\n function(result)\n local this_version, change_log = table.unpack(result)\n\n local latest_version = app:get_version_from_log(change_log)\n if not latest_version then\n error(\"Can't determine version from latest Change Log.\")\n end\n\n if this_version == latest_version then\n return true\n end\n\n local warning_color = Color(0xF3/255, 0xB2/255, 0x1C/255)\n local msg = \"This version of the mod is outdated.\\n\"\n msg = msg .. \"You can obtained the latest version from http://kinithin.ca/tts/brass\\n\"\n printToAll(msg .. \"See the log tab for more details.\", warning_color)\n\n msg = msg .. \"Here are the changes since the this version:\\n\"\n local lines = split(change_log, \"\\n\", true, true)\n for i, line in ipairs(lines) do\n if line == this_version then\n break\n end\n\n msg = msg .. \"\\n\" .. line\n end\n\n log(msg)\n\n Notes.setNotes(\n \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\" ..\n \"See notebook for information.\\n\" ..\n \"\\n\" ..\n \"[FF0000]Newer version available at\\n\" ..\n \"http://kinithin.ca/tts/brass[FFFFFF]\"\n )\n\n return false\n end\n )\nend\n\n\n-- ================================================================================\n-- Scoring\n\nfunction App:update_score_data(era, score_info_recs)\n local state = self.state\n\n local score_data = state:get_score_data()\n\n for score_info_rec in ivalues(score_info_recs) do\n local color_name = score_info_rec.color_name\n local player_score_data = score_data[color_name]\n\n player_score_data[ era .. \"_immediate\" ] = score_info_rec.immediate_vps\n player_score_data[ era .. \"_links\" ] = score_info_rec.link_points\n player_score_data[ era .. \"_industries\" ] = score_info_rec.industry_points\n\n if era == \"rail\" then\n player_score_data.rail_money = score_info_rec.money_points\n end\n\n player_score_data[ era .. \"_era\" ] = score_info_rec.points\n\n player_score_data.total = score_info_rec.total\n player_score_data.order = score_info_rec.order\n player_score_data.position = score_info_rec.position\n end\nend\n\n\nfunction App:log_results()\n local state = self.state\n local score_board_rows = self.score_board_rows\n\n local score_data = state:get_score_data()\n local player_names_by_color_name = state:get_player_names_by_color_name()\n\n local color_names = get_keys(score_data)\n table.sort(color_names, |a,b|score_data[a].order < score_data[b].order)\n\n do\n local data = { }\n\n do\n local header = { \"player_color\", \"player_name\" }\n\n for row_idx, row in ipairs(score_board_rows) do\n table.insert(header, row.id)\n end\n\n table.insert(data, header)\n end\n\n for player_idx, color_name in ipairs(color_names) do\n local player_score_data = score_data[color_name]\n\n local player = { color_name, player_names_by_color_name[color_name] }\n\n for row_idx, row in ipairs(score_board_rows) do\n table.insert(player, player_score_data[row.id])\n end\n\n table.insert(data, player)\n end\n\n Notes.addNotebookTab({ title = \"Results (CSV)\", body = to_csv(data) })\n Notes.addNotebookTab({ title = \"Results (TSV)\", body = to_tsv(data) })\n end\n\n do\n local players = { }\n\n for player_idx, color_name in ipairs(color_names) do\n local player_score_data = score_data[color_name]\n\n local player = {\n player_color = color_name,\n player_name = player_names_by_color_name[color_name],\n }\n\n for row_idx, row in ipairs(score_board_rows) do\n player[row.id] = player_score_data[row.id]\n end\n\n table.insert(players, player)\n end\n\n local data = {\n players = players,\n }\n\n Notes.addNotebookTab({ title = \"Results (JSON)\", body = JSON.encode(data) })\n end\nend\n\n\nfunction App:announce_winner()\n local state = self.state\n local objects = self.objects\n local players = objects.players\n\n local score_data = state:get_score_data()\n local winners = filter(get_keys(score_data), |i,color_name|score_data[color_name].position == 1)\n\n local result\n if #winners == state:get_num_players() then\n result = \"Draw!\"\n elseif #winners == 1 then\n local color_name = winners[1]\n local name = state:get_player_names_by_color_name()[color_name]\n result = \"Congrats to \" .. name .. \"!\"\n else\n result = \"Congrats to \" .. format_item_list(winners) .. \"! (Tie)\"\n end\n\n broadcast_info(result)\n self.state:set_game_result(result)\n\n for color_name in ivalues(winners) do\n pulse_obj(players[color_name].mat, Color[color_name], { num_pulses = -1 })\n end\nend\n\n\n-- ================================================================================\n-- Misc\n\nfunction App:get_deck()\n local decks = { }\n for obj in ivalues(self.objects.play_deck_zone.getObjects()) do\n if obj.name == \"Deck\" or obj.name == \"Card\" then\n table.insert(decks, obj)\n end\n end\n\n if #decks == 0 then\n return\n elseif #decks == 1 then\n return decks[1]\n else\n table.sort(decks, |a,b|b.getPosition().y < a.getPosition().y)\n return decks[1] -- Top deck\n end\nend\n\n\nfunction App:all_settled_error_logger(value)\n for result in ivalues(value) do\n if result.status == \"rejected\" then\n broadcast_error(result.reason)\n end\n end\n\n return value\nend\n\n\n-- ================================================================================\n-- CSV\n\nfunction to_csv(data)\n local encoded_rows = { }\n for row in ivalues(data) do\n local encoded_cells = { }\n for cell in ivalues(row) do\n local cell_type = type(cell)\n if cell_type == \"string\" then\n table.insert(encoded_cells, '\"' .. string.gsub(cell, '\"', '\"\"') .. '\"')\n elseif cell_type == \"number\" then\n table.insert(encoded_cells, tostring(cell)) -- Not so good for non-integers.\n else\n table.insert(encoded_cells, \"\")\n end\n end\n\n table.insert(encoded_rows, table.concat(encoded_cells, \",\") .. \"\\n\")\n end\n\n return table.concat(encoded_rows, \"\")\nend\n\n\nfunction to_tsv(data)\n local encoded_rows = { }\n for row in ivalues(data) do\n local encoded_cells = { }\n for cell in ivalues(row) do\n local cell_type = type(cell)\n if cell_type == \"string\" then\n table.insert(encoded_cells, cell) -- Not so good for strings with tabs, line feeds, etc.\n elseif cell_type == \"number\" then\n table.insert(encoded_cells, tostring(cell)) -- Not so good for non-integers.\n else\n table.insert(encoded_cells, \"\")\n end\n end\n\n table.insert(encoded_rows, table.concat(encoded_cells, \"\\t\") .. \"\\n\")\n end\n\n return table.concat(encoded_rows, \"\")\nend\n\n\n-- ================================================================================\n\nreturn App\n\nend)\n__bundle_register(\"mods/Brass/lib/State\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\n-- Game state\n-- ================================================================================\n\n-- Modules.\nlocal ArrayUtils = require(\"kintastic/lib/ArrayUtils\")\nlocal Const = require(\"kintastic/lib/Const\")\nlocal DictUtils = require(\"kintastic/lib/DictUtils\")\nlocal TableLock = require(\"kintastic/lib/TableLock\")\nlocal TtsMsgUtils = require(\"kintastic/lib/TtsMsgUtils\")\n\n-- Imports.\nlocal ivalues = ArrayUtils.ivalues\nlocal make_set = ArrayUtils.make_set\nlocal const = Const.const\nlocal get_keys = DictUtils.get_keys\nlocal merge = DictUtils.merge\nlocal declare = TableLock.declare\nlocal lock = TableLock.lock\nlocal broadcast_error = TtsMsgUtils.broadcast_error\n\n-- The class.\nlocal State = { }\n\nState.mt = {\n __index = State,\n}\n\n\n-- ================================================================================\n-- Private constants\n\nlocal state_vars = const(lock({\n \"current_phase\",\n \"player_names_by_color_name\",\n \"current_round\",\n \"current_player\", -- Color name.\n \"score_data\",\n \"game_result\",\n}))\n\nlocal is_state_var = const(make_set(state_vars))\n\nlocal option_names = const(lock({\n \"min_players\", -- Force the game to have at least this many players.\n \"skip_discard_check\", -- Don't enforce valid turns if true.\n \"cool_down\", -- Length of the cool-down on the game-advancing button.\n \"short\", -- Reduces each era to one round.\n}))\n\nlocal is_option_name = const(make_set(option_names))\n\nlocal derived_vars = const(lock({\n \"game_started\",\n \"active_players\", -- Array of color names.\n \"is_active_player\", -- Keyed by color names.\n \"num_players\",\n \"num_rounds\",\n}))\n\n\n-- ================================================================================\n-- Public constructor\n\nfunction State.new(class, app)\n local self = setmetatable({}, class.mt)\n\n local state = lock({ })\n declare(state, unpack(state_vars))\n\n local derived = lock({ })\n declare(derived, unpack(derived_vars))\n\n local opts = lock({ })\n declare(opts, unpack(option_names))\n\n self.app = app\n self.state = state\n self.derived = derived\n self.opts = opts\n self.is_state_var = is_state_var\n self.is_option_name = is_option_name\n\n state.current_phase = app.Phases.NOT_STARTED\n\n self:update_derived()\n\n return self\nend\n\n\n-- ================================================================================\n-- Accessors\n\nfor state_var in ivalues(state_vars) do\n State[\"get_\" .. state_var] = function(self)\n return self.state[state_var]\n end\n\n State[\"set_\" .. state_var] = function(self, val)\n self.state[state_var] = val\n self:update_derived()\n end\nend\n\n\nfor derived_var in ivalues(derived_vars) do\n if derived_var ~= \"is_active_player\" then\n State[\"get_\" .. derived_var] = function(self)\n return self.derived[derived_var]\n end\n end\nend\n\nfunction State:is_active_player(player_color)\n return self.derived.is_active_player[player_color]\nend\n\n\nfor option_name in ivalues(option_names) do\n State[\"get_opt_\" .. option_name] = function(self)\n return self.opts[option_name]\n end\n\n State[\"set_opt_\" .. option_name] = function(self, val)\n self.opts[option_name] = val\n end\nend\n\n\n-- ================================================================================\n-- Public instance method State:serialize\n\nfunction State:serialize()\n if self.derived.game_started then\n return {\n state = self.state,\n opts = self.opts,\n }\n else\n return nil\n end\nend\n\n\n-- ================================================================================\n-- Public instance method State:merge_saved_state\n\nfunction State:merge_saved_state(saved_state)\n if not saved_state then\n return\n end\n\n if saved_state.state then self:merge( saved_state.state ) end\n if saved_state.opts then self:merge_opts( saved_state.opts ) end\nend\n\n\n-- ================================================================================\n-- Public instance method State:merge\n\nfunction State:merge(dict)\n local is_state_var = self.is_state_var\n\n for k, v in pairs(dict) do\n if is_state_var[k] then\n self.state[k] = v\n else\n broadcast_error(\"\\\"\" .. k .. \"\\\" isn't a valid State variable.\")\n end\n end\n\n self:update_derived()\nend\n\n\n-- ================================================================================\n-- Public instance method State:merge_opts\n\nfunction State:merge_opts(dict)\n local is_option_name = self.is_option_name\n\n for k, v in pairs(dict) do\n if is_option_name[k] then\n self.opts[k] = v\n else\n broadcast_error(\"\\\"\" .. k .. \"\\\" isn't a valid State option.\")\n end\n end\nend\n\n\n-- ================================================================================\n-- Public instance method State:update_derived\n\nfunction State:update_derived()\n local state = self.state\n local opts = self.opts\n local derived = self.derived\n\n derived.game_started = state.current_phase > self.app.Phases.NOT_STARTED\n\n if derived.game_started then\n derived.active_players = get_keys(state.player_names_by_color_name)\n derived.is_active_player = make_set(derived.active_players)\n derived.num_players = #derived.active_players\n derived.num_rounds = opts.short and 1 or 12 - derived.num_players\n else\n derived.active_players = nil\n derived.is_active_player = nil\n derived.num_players = nil\n derived.num_rounds = nil\n end\nend\n\n\n-- ================================================================================\n\nreturn State\n\nend)\n__bundle_register(\"kintastic/lib/TtsMsgUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- TTS messaging utils\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TtsPlayerUtils = require(\"kintastic/lib/TtsPlayerUtils\")\r\n\r\n-- The module.\r\nlocal TtsMsgUtils = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Private constants\r\n\r\nlocal EMPTY_TABLE = { }\r\n\r\nlocal ERROR_COLOR = Color.Red\r\nlocal INFO_COLOR = Color.White\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.broadcast_info\r\n\r\nfunction TtsMsgUtils.broadcast_info(msg)\r\n broadcastToAll(msg, INFO_COLOR)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.print_info\r\n\r\nfunction TtsMsgUtils.print_info(msg)\r\n printToAll(msg, INFO_COLOR)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.print_error\r\n\r\nfunction TtsMsgUtils.print_error(msg)\r\n printToAll(msg, ERROR_COLOR)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.broadcast_error\r\n\r\n-- receiver_color_name is optional.\r\nfunction TtsMsgUtils.broadcast_error(msg, receiver_color_name)\r\n if receiver_color_name then\r\n broadcastToColor(msg, receiver_color_name, ERROR_COLOR)\r\n else\r\n broadcastToAll(msg, ERROR_COLOR)\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.broadcast_error_to_host\r\n\r\nfunction TtsMsgUtils.broadcast_error_to_host(msg)\r\n local host = TtsPlayerUtils.get_host()\r\n broadcastToColor(msg, host.color, ERROR_COLOR)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.broadcast_internal_error\r\n\r\nfunction TtsMsgUtils.broadcast_internal_error(msg)\r\n broadcastToAll(\"Internal error: \" .. msg, ERROR_COLOR)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.broadcast_internal_error_to_host\r\n\r\nfunction TtsMsgUtils.broadcast_internal_error_to_host(msg)\r\n local host = TtsPlayerUtils.get_host()\r\n broadcastToColor(\"Internal error: \" .. msg, host.color, ERROR_COLOR)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.announce_player_turn\r\n\r\nfunction TtsMsgUtils.announce_player_turn(color_name)\r\n local player = Player[color_name]\r\n if player.seated then\r\n Turns.enable = false\r\n Turns.reverse_order = false\r\n Turns.skip_empty_hands = false\r\n Turns.pass_turns = false\r\n Turns.disable_interactations = false\r\n Turns.type = 2 -- Custom\r\n Turns.order = { color_name }\r\n Turns.turn_color = color_name\r\n Turns.enable = true\r\n Turns.enable = false\r\n else\r\n printToAll(color_name .. \"’s turn.\", color_name)\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsMsgUtils.pulse_obj\r\n--\r\n-- The second argument is an Color object or a Color-like table.\r\n-- The third argument is optional.\r\n-- If the num_pulses option is set to -1,\r\n-- the pulsing will continue until canceled.\r\n--\r\n-- The function returns a function that can be called\r\n-- to cancel the pulsing (if still ongoing).\r\n\r\nfunction TtsMsgUtils.pulse_obj(obj, color, opts)\r\n opts = opts or EMPTY_TABLE\r\n\r\n local pulse_dur = opts.pulse_dur or 1.2\r\n local num_steps_per_edge = opts.num_steps_per_edge or 12\r\n local num_pulses = opts.num_pulses or 4\r\n\r\n color = Color(color)\r\n local initial_alpha = color.a\r\n\r\n num_pulses = math.floor(num_pulses)\r\n if num_pulses == 0 then\r\n return\r\n end\r\n\r\n local num_steps_per_pulse = num_steps_per_edge * 2\r\n local step_dur = pulse_dur / num_steps_per_pulse\r\n\r\n local wait_id\r\n local step_num = 0\r\n local pulse_num = 1\r\n local f = function()\r\n step_num = step_num + 1\r\n if step_num == num_steps_per_pulse then\r\n step_num = 0\r\n obj.highlightOff()\r\n\r\n if num_pulses >= 0 then\r\n pulse_num = pulse_num + 1\r\n if pulse_num > num_pulses then\r\n obj.highlightOff()\r\n wait_id = nil\r\n end\r\n end\r\n else\r\n -- progress = e^(-128 (x - 0.5) ^ 4)\r\n -- A plot can found here:\r\n -- https://www.wolframalpha.com/input/?i=alpha+%3D+e%5E%28-128+%28x+-+0.5%29+%5E+4%29+from+0+to+1\r\n -- In short, it favours the on state and the off state, and provides a smooth transition between the two.\r\n local progress = step_num / num_steps_per_pulse - 0.5\r\n progress = progress * progress\r\n progress = progress * progress\r\n progress = math.exp(-128 * progress)\r\n\r\n color.a = initial_alpha * progress\r\n obj.highlightOn(color)\r\n end\r\n end\r\n\r\n if num_pulses > 0 then\r\n local num_steps = num_pulses * num_steps_per_pulse\r\n wait_id = Wait.time(f, step_dur, num_steps)\r\n else\r\n wait_id = Wait.time(f, step_dur, -1)\r\n end\r\n\r\n return function()\r\n if wait_id then\r\n Wait.stop(wait_id)\r\n obj.highlightOff()\r\n wait_id = nil\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsMsgUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/TtsPlayerUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- TTS player utils\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal ArrayUtils = require(\"kintastic/lib/ArrayUtils\")\r\nlocal Iters = require(\"kintastic/lib/Iters\")\r\n\r\n-- Imports.\r\nlocal ivalues = Iters.ivalues\r\n\r\n-- The module.\r\nlocal TtsPlayerUtils = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\n-- ----------------------------------------\r\n-- Private constants\r\n\r\nlocal COLOR_NAMES = {\r\n \"White\",\r\n \"Brown\",\r\n \"Red\",\r\n \"Orange\",\r\n \"Yellow\",\r\n \"Green\",\r\n \"Teal\",\r\n \"Blue\",\r\n \"Purple\",\r\n \"Pink\",\r\n \"Grey\",\r\n \"Black\",\r\n}\r\n\r\nlocal COLOR_NAMES_LOOKUP = { }\r\nfor i, color_name in ipairs(COLOR_NAMES) do\r\n COLOR_NAMES_LOOKUP[color_name] = true\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsPlayerUtils.get_host\r\n\r\nfunction TtsPlayerUtils.get_host()\r\n for player in ivalues(Player.getPlayers()) do\r\n if player.host then\r\n return player\r\n end\r\n end\r\n\r\n return nil\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsPlayerUtils.get_admins\r\n--\r\n-- The first will always be the host.\r\n\r\nfunction TtsPlayerUtils.get_admins()\r\n local admins = { }\r\n\r\n local players = Player.getPlayers()\r\n for player in ivalues(players) do\r\n if player.host then\r\n table.insert(admins, player)\r\n end\r\n end\r\n\r\n for player in ivalues(players) do\r\n if player.promoted then\r\n table.insert(admins, player)\r\n end\r\n end\r\n\r\n return admins\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsPlayerUtils.get_seated_players\r\n--\r\n-- The arguments can be omitted.\r\n-- If omitted or nil, they default to false.\r\n\r\nfunction TtsPlayerUtils.get_seated_players(incl_gm, incl_spec)\r\n local seated = { }\r\n for player in ivalues(Player.getPlayers()) do\r\n if\r\n player.seated and\r\n not (player.color == \"Black\" and not incl_gm ) and\r\n not (player.color == \"Grey\" and not incl_spec )\r\n then\r\n table.insert(seated, player)\r\n end\r\n end\r\n\r\n return seated\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsPlayerUtils.get_seated_color_names\r\n--\r\n-- The arguments can be omitted.\r\n-- If omitted or nil, they default to false.\r\n\r\nfunction TtsPlayerUtils.get_seated_color_names(incl_gm, incl_spec)\r\n local seated = { }\r\n for player in ivalues(Player.getPlayers()) do\r\n if\r\n player.seated and\r\n not (player.color == \"Black\" and not incl_gm ) and\r\n not (player.color == \"Grey\" and not incl_spec )\r\n then\r\n table.insert(seated, player.color)\r\n end\r\n end\r\n\r\n return seated\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsPlayerUtils.keep_seated_color_names\r\n\r\nfunction TtsPlayerUtils.keep_seated_color_names(color_names)\r\n return ArrayUtils.filter(\r\n color_names,\r\n |color_name|Player[color_name].seated\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsPlayerUtils.decolor\r\n\r\nfunction TtsPlayerUtils.decolor(name)\r\n if not name then\r\n return name\r\n end\r\n\r\n local pos = string.find(name, \" \", 1, true)\r\n if not pos then\r\n return name\r\n end\r\n\r\n local color_name = string.sub(name, 1, pos-1)\r\n if not COLOR_NAMES_LOOKUP[color_name] then\r\n return name\r\n end\r\n\r\n return string.sub(name, pos+1), color_name\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsPlayerUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/Iters\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Iters\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal ArrayUtils = require(\"kintastic/lib/ArrayUtils\")\r\nlocal DictUtils = require(\"kintastic/lib/DictUtils\")\r\n\r\n-- The module.\r\nlocal Iters = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function Iters.ivalues\r\n\r\nIters.ivalues = ArrayUtils.ivalues\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Iters.dipairs\r\n-- Public function Iters.ipairs_desc\r\n\r\nIters.dipairs = ArrayUtils.dipairs\r\nIters.ipairs_desc = ArrayUtils.ipairs_desc\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Iters.divalues\r\n-- Public function Iters.ivalues_desc\r\n\r\nIters.divalues = ArrayUtils.divalues\r\nIters.ivalues_desc = ArrayUtils.ivalues_desc\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Iters.sivalues\r\n-- Public function Iters.sorted_ivalues\r\n\r\nIters.sivalues = ArrayUtils.sivalues\r\nIters.sorted_ivalues = ArrayUtils.sorted_ivalues\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Iters.keys\r\n\r\nIters.keys = DictUtils.keys\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Iters.values\r\n\r\nIters.values = DictUtils.values\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Iters.spairs\r\n-- Public function Iters.sorted_pairs\r\n\r\nIters.spairs = DictUtils.spairs\r\nIters.sorted_pairs = DictUtils.sorted_pairs\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Iters\r\n\nend)\n__bundle_register(\"kintastic/lib/DictUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Dict utils\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TableUtils = require(\"kintastic/lib/TableUtils\")\r\n\r\n-- The module.\r\nlocal DictUtils = { }\r\n\r\n-- Inherit functions from TableUtils.\r\nsetmetatable(DictUtils, {\r\n __index = TableUtils,\r\n})\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.get_keys\r\n\r\nfunction DictUtils.get_keys(dict)\r\n local ks = { }\r\n for k in pairs(dict) do table.insert(ks, k) end\r\n return ks\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.get_values\r\n\r\nfunction DictUtils.get_values(dict)\r\n local vs = { }\r\n for k, v in pairs(dict) do table.insert(vs, v) end\r\n return vs\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.map_values\r\n--\r\n-- Equivalent to TableUtils.map(DictUtils.get_values(tbl, cb))\r\n\r\nfunction DictUtils.map_values(tbl, cb)\r\n local mapped = { }\r\n for k, v in pairs(tbl) do\r\n table.insert(mapped, cb(v))\r\n end\r\n\r\n return mapped\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.pick\r\n\r\nfunction DictUtils.pick(dict, test)\r\n local picked = { }\r\n for k, v in pairs(dict) do\r\n if test(k, v) then\r\n picked[k] = v\r\n end\r\n end\r\n\r\n return picked\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.select\r\n--\r\n-- WARNING: DEPRECATED/OBSLETE.\r\n\r\nDictUtils.select = DictUtils.pick\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.merge\r\n--\r\n-- Adds the elements of `tbl2` to `tbl1`.\r\n-- Shallow copy.\r\n-- Returns `tbl1`.\r\n\r\nfunction DictUtils.merge(tbl1, tbl2)\r\n for k, v in pairs(tbl2) do\r\n tbl1[k] = v\r\n end\r\n\r\n return tbl1\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.rmerge\r\n--\r\n-- Recursive version of DictUtils.merge.\r\n-- `tbl1` controls the recursion.\r\n-- Returns `tbl1`.\r\n\r\nfunction DictUtils.rmerge(tbl1, tbl2)\r\n for k, v in pairs(tbl2) do\r\n if type(tbl1[k]) == \"table\" then\r\n DictUtils.rmerge(tbl1[k], v)\r\n else\r\n tbl1[k] = v\r\n end\r\n end\r\n\r\n return tbl1\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.keys\r\n--\r\n-- For when you don't need the value.\r\n--\r\n-- Usage:\r\n-- for value in DictUtils.keys(dict) do ... end\r\n\r\nfunction DictUtils.keys(dict)\r\n local i = nil\r\n return function()\r\n i = next(dict, i)\r\n -- `i ~= nil` would cause issues in the event of destroyed TTS objects in the set.\r\n -- `type(i) ~= nil` would be most reliable, but surely slower.\r\n if i or i ~= nil then\r\n return i\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.values\r\n--\r\n-- For when you don't need the key.\r\n--\r\n-- Usage:\r\n-- for value in DictUtils.values(dict) do ... end\r\n\r\nfunction DictUtils.values(dict)\r\n local i = nil\r\n return function()\r\n local v\r\n i, v = next(dict, i)\r\n -- `i ~= nil` would cause issues in the event of destroyed TTS objects in the set.\r\n -- `type(i) ~= nil` would be most reliable, but surely slower.\r\n if i or i ~= nil then\r\n return v\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function DictUtils.spairs\r\n-- Public function DictUtils.sorted_pairs\r\n\r\n-- Iterates over a dictionary in ascending key order (default) or in a user-defined order.\r\n--\r\n-- Usage:\r\n-- for key, value in DictUtils.spairs(dict) do ... end\r\n-- for key, value in DictUtils.spairs(dict, compare_func) do ... end\r\n--\r\n-- Example:\r\n--\r\n-- local characters = {\r\n-- Red = { name = ..., ... },\r\n-- Blue = { name = ..., ... },\r\n-- ...\r\n-- }\r\n--\r\n-- for player_color, character in DictUtils.spairs(characters, |ka,va,kb,vb|va.name < vb.name) do\r\n-- ...\r\n-- end\r\n\r\nfunction DictUtils.spairs(dict, compare)\r\n local ks = get_keys(dict)\r\n table.sort(ks, |ka,kb|compare(ka, dict[ka], kb, dict[kb]))\r\n local i = 0 -- Iterator state\r\n return function() -- Iterator function\r\n i = i + 1\r\n -- `ks[i] ~= nil` would cause issues in the event of destroyed TTS objects in the set.\r\n -- `type(ks[i]) ~= nil` would be most reliable, but surely slower.\r\n if ks[i] or ks[i] ~= nil then\r\n return ks[i], dict[ks[i]]\r\n end\r\n end\r\nend\r\n\r\nDictUtils.sorted_pairs = DictUtils.spairs\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn DictUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/TableUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Table utils\r\n-- ================================================================================\r\n\r\n-- The module.\r\nlocal TableUtils = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TableUtils.copy\r\n--\r\n-- Shallow copy.\r\n\r\nfunction TableUtils.copy(tbl)\r\n local copy = { }\r\n for k, v in pairs(tbl) do\r\n copy[k] = v\r\n end\r\n\r\n return copy\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableUtils.map\r\n\r\nfunction TableUtils.map(tbl, cb)\r\n local mapped = { }\r\n for k, v in pairs(tbl) do\r\n mapped[k] = cb(v)\r\n end\r\n\r\n return mapped\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableUtils.count\r\n\r\nfunction TableUtils.count(tbl, cb)\r\n local count = 0\r\n for k, v in pairs(tbl) do\r\n if cb(v) then\r\n count = count + 1\r\n end\r\n end\r\n\r\n return count\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TableUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/ArrayUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Array utils\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TableUtils = require(\"kintastic/lib/TableUtils\")\r\n\r\n-- The module.\r\nlocal ArrayUtils = { }\r\n\r\n-- Inherit functions from TableUtils.\r\nsetmetatable(ArrayUtils, {\r\n __index = TableUtils,\r\n})\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.push\r\n--\r\n-- Returns the added value(s).\r\n\r\nfunction ArrayUtils.push(array, ...)\r\n local n = select(\"#\", ...)\r\n for i = 1, n do\r\n local val = select(i, ...)\r\n table.insert(array, val)\r\n end\r\n\r\n return ...\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.filter\r\n\r\nfunction ArrayUtils.filter(array, test)\r\n local filtered = { }\r\n for i, v in ipairs(array) do\r\n if test(i, v) then\r\n table.insert(filtered, v)\r\n end\r\n end\r\n\r\n return filtered\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.first\r\n\r\nfunction ArrayUtils.first(array, test)\r\n local filtered = { }\r\n for i, v in ipairs(array) do\r\n if test(i, v) then\r\n return v\r\n end\r\n end\r\n\r\n return nil\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.first_idx\r\n\r\nfunction ArrayUtils.first_idx(array, test)\r\n local filtered = { }\r\n for i, v in ipairs(array) do\r\n if test(i, v) then\r\n return i, v\r\n end\r\n end\r\n\r\n return\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.shuffle_inplace\r\n\r\nfunction ArrayUtils.shuffle_inplace(array)\r\n for i = #array, 2, -1 do\r\n local j = math.random(i)\r\n array[i], array[j] = array[j], array[i]\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.shuffle\r\n\r\nfunction ArrayUtils.shuffle(array)\r\n local copy = { }\r\n for i = 1, #array do\r\n copy[i] = array[i]\r\n end\r\n\r\n ArrayUtils.shuffle_inplace(copy)\r\n return copy\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.sum\r\n\r\nfunction ArrayUtils.sum(array)\r\n local sum = 0\r\n for i, val in ipairs(array) do\r\n sum = sum + 1\r\n end\r\n\r\n return sum\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.make_set\r\n\r\nfunction ArrayUtils.make_set(array, key_gen, val_gen)\r\n if key_gen == nil then\r\n key_gen = function(_) return _ end\r\n end\r\n\r\n if val_gen == nil then\r\n val_gen = function(_) return true end\r\n end\r\n\r\n local set = { }\r\n for i, v in ipairs(array) do\r\n set[key_gen(v)] = val_gen(v)\r\n end\r\n\r\n return set\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.format_item_list\r\n\r\nfunction ArrayUtils.format_item_list(array, locale)\r\n local n = #array\r\n if n == 0 then\r\n return \"none\"\r\n end\r\n\r\n if n == 1 then\r\n return array[1]\r\n end\r\n\r\n local s = array[1]\r\n for i = 2, n-1 do\r\n s = s .. \", \" .. array[i]\r\n end\r\n\r\n return s .. \" and \" .. array[n]\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.ivalues\r\n--\r\n-- For when you don't need the index.\r\n--\r\n-- Usage:\r\n-- for value in ArrayUtils.ivalues(array) do ... end\r\n\r\nfunction ArrayUtils.ivalues(array)\r\n local i = 0\r\n local n = #array\r\n return function()\r\n if i < n then\r\n i = i + 1\r\n return array[i]\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.dipairs\r\n-- Public function ArrayUtils.ipairs_desc\r\n--\r\n-- Usage:\r\n-- for index, value in ArrayUtils.dipairs(array) do ... end\r\n\r\nfunction ArrayUtils.dipairs(array)\r\n local i = #array + 1\r\n return function()\r\n if i > 1 then\r\n i = i - 1\r\n return i, array[i]\r\n end\r\n end\r\nend\r\n\r\nArrayUtils.ipairs_desc = ArrayUtils.dipairs\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.divalues\r\n-- Public function ArrayUtils.ivalues_desc\r\n--\r\n-- Usage:\r\n-- for value in ArrayUtils.divalues(array) do ... end\r\n\r\nfunction ArrayUtils.divalues(array)\r\n local i = #array + 1\r\n return function()\r\n if i > 1 then\r\n i = i - 1\r\n return array[i]\r\n end\r\n end\r\nend\r\n\r\nArrayUtils.ivalues_desc = ArrayUtils.divalues\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function ArrayUtils.sivalues\r\n-- Public function ArrayUtils.sorted_ivalues\r\n\r\n-- Iterates over an array in ascending value order (default) or in a user-defined order.\r\n--\r\n-- Usage:\r\n-- for value in ArrayUtils.sivalues(array) do ... end\r\n-- for value in ArrayUtils.sivalues(array, compare_func) do ... end\r\n--\r\n-- Example:\r\n--\r\n-- local characters = {\r\n-- { name = ..., ... },\r\n-- { name = ..., ... },\r\n-- ...\r\n-- }\r\n--\r\n-- for character in ArrayUtils.sivalues(characters, |a,b|a.name < b.name) do\r\n-- ...\r\n-- end\r\n\r\nfunction ArrayUtils.sivalues(array, compare)\r\n local copy = ArrayUtils.copy(array)\r\n table.sort(copy, compare)\r\n local i = 0 -- Iterator state\r\n return function() -- Iterator function\r\n i = i + 1\r\n if copy[i] ~= nil then\r\n return copy[i]\r\n end\r\n end\r\nend\r\n\r\nArrayUtils.sorted_ivalues = ArrayUtils.sivalues\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn ArrayUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/TableLock\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Table locking tools\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal WarningHandlers = require(\"kintastic/lib/WarningHandlers\")\r\n\r\n-- Forward declarations for privates found at the bottom.\r\nlocal attach_self\r\n\r\n-- The module.\r\nlocal TableLock = { }\r\n\r\n-- Constant.\r\nlocal hook = \"__kintastic_TableLock\"\r\n\r\n\r\n-- ================================================================================\r\n-- Public on_violation handlers.\r\n\r\nfor k, v in pairs(WarningHandlers) do\r\n TableLock[k] = v\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Public attributes\r\n--\r\n-- TableLock.on_violation(msg) is called on a constraint violation.\r\n-- - TableLock.on_violation(msg) may call error() to abort execution.\r\n-- - If TableLock.on_violation(msg) returns something true, the operation will proceed.\r\n-- - If TableLock.on_violation(msg) returns something false, the operationg will fail silently.\r\n-- - Note that TableLock.on_violation(msg) is also called if declare, declare_and_set or merge is misused.\r\n-- - The functions provided by the WarningHandlers module may be used here. They are re-exported by this module.\r\n--\r\n-- TableLock.limited_functionality reports if checks performed on writes are skipped to avoid\r\n-- a bug fixed in 1.6.0.0 that could result in a mysterious \"Unexpected LuaType Tuple\" fatal error.\r\n-- https://github.com/moonsharp-devs/moonsharp/issues/133\r\n-- Since TTS now uses a newer version of MoonSharp, this is always false.\r\n\r\nTableLock.if_dev = nil -- OBSOLETE. Use a custom on_violation instead.\r\nTableLock.on_violation = TableLock.fatal_violation -- Editable.\r\nTableLock.limited_functionality = false -- Read-only.\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.declare\r\n--\r\n-- Access to the list of provided names will no\r\n-- longer be forbidden for the provided table.\r\n--\r\n-- This even works on tables that were never locked.\r\n\r\nfunction TableLock.declare(tbl, ...)\r\n local mt = getmetatable(tbl)\r\n local self = mt and mt[hook]\r\n if not self then\r\n return tbl\r\n end\r\n\r\n local c = select(\"#\", ...)\r\n for i = 1, c do\r\n local k = select(i, ...)\r\n self.declared[k] = true\r\n end\r\n\r\n return tbl\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.declare_and_set\r\n--\r\n-- This even works on tables that were never locked.\r\n\r\nfunction TableLock.declare_and_set(tbl, k, v)\r\n TableLock.declare(tbl, k)\r\n tbl[k] = v\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.merge\r\n--\r\n-- This even works on tables that were never locked.\r\n\r\nfunction TableLock.merge(dst, src)\r\n local mt = getmetatable(dst)\r\n local self = mt and mt[hook]\r\n if self then\r\n for k, v in pairs(src) do\r\n self.declared[k] = true\r\n dst[k] = v\r\n end\r\n else\r\n for k, v in pairs(src) do\r\n dst[k] = v\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.lock\r\n--\r\n-- Prevents any accesses or changes to undeclared fields of a table.\r\n-- Fields already in the table when this is called are considered declared.\r\n-- Fields can also be declared using `.declare()` and `.declare_and_set()`.\r\n--\r\n-- Locking a table that's already locked has no effect.\r\n\r\nfunction TableLock.lock(tbl)\r\n local mt, self = attach_self(tbl)\r\n if self.enabled then\r\n return tbl\r\n end\r\n\r\n for k in pairs(tbl) do\r\n self.declared[k] = true\r\n end\r\n\r\n self.enabled = true\r\n\r\n if not self.hooked then\r\n local old_index = mt.__index or rawget\r\n local old_newindex = mt.__newindex or rawset\r\n\r\n mt.__index = function(t, k)\r\n if not self.declared[k] and self.enabled then\r\n if not TableLock.on_violation(\"Undeclared access of \" .. tostring(k)) then\r\n return\r\n end\r\n end\r\n\r\n return old_index(t, k)\r\n end\r\n\r\n mt.__newindex = function(t, k, v)\r\n if not self.declared[k] and self.enabled then\r\n if not TableLock.on_violation(\"Undeclared write to \" .. tostring(k)) then\r\n return\r\n end\r\n end\r\n\r\n return old_newindex(t, k, v)\r\n end\r\n\r\n self.hooked = true\r\n end\r\n\r\n return tbl\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.lock_if_dev\r\n--\r\n-- OBSOLETE. For backwards compatibility only.\r\n\r\nfunction TableLock.lock_if_dev(tbl)\r\n add_state(tbl)\r\n return tbl\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.rlock\r\n--\r\n-- A recursive version of TableLock.lock\r\n\r\nfunction TableLock.rlock(tbl)\r\n TableLock.lock(tbl)\r\n\r\n for k, v in pairs(tbl) do\r\n if type(v) == \"table\" then\r\n TableLock.rlock(v)\r\n end\r\n end\r\n\r\n return tbl\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.rlock_if_dev\r\n--\r\n-- OBSOLETE. For backwards compatibility only.\r\n\r\nfunction TableLock.rlock_if_dev(tbl)\r\n add_state(tbl)\r\n\r\n for k, v in pairs(tbl) do\r\n if type(v) == \"table\" then\r\n TableLock.rlock_if_dev(v)\r\n end\r\n end\r\n\r\n return tbl\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.unlock\r\n--\r\n-- For the extent of the call to the callback,\r\n-- no access to the provided table will be forbidden.\r\n--\r\n-- The first value returned by the callback is returned.\r\n-- This function is tolerant of exceptions in the callback.\r\n\r\nfunction TableLock.unlock(tbl, cb)\r\n local mt = getmetatable(tbl)\r\n local self = mt and mt[hook]\r\n if not self or not self.enabled then\r\n return cb()\r\n end\r\n\r\n local success, rv = pcall(\r\n function()\r\n self.enabled = false\r\n cb()\r\n self.enabled = true\r\n\r\n local declared = self.declared\r\n for k in pairs(tbl) do\r\n declared[k] = true\r\n end\r\n end\r\n )\r\n\r\n self.enabled = true\r\n\r\n if success then\r\n return rv\r\n else\r\n error(rv)\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TableLock.declare_atom_symbols\r\n--\r\n-- Useful if you lock _G and use the TTS plugin for Atom.\r\n-- _G must be locked before calling this.\r\n\r\nfunction TableLock.declare_atom_symbols()\r\n TableLock.declare(_G,\r\n \"__atom_highlight_guid\",\r\n \"__atom_highlight_guids\"\r\n )\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Public on_violation handlers.\r\n\r\n-- ----------------------------------------\r\n-- Public on_violation handler TableLock.fatal_violation\r\n--\r\n-- Announce the violation and proceed normally.\r\n\r\nTableLock.fatal_violation = error\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public on_violation handler TableLock.announce_violation\r\n--\r\n-- Announce the violation to the host and proceed normally.\r\n\r\nfunction TableLock.announce_violation(msg)\r\n for i, player in ipairs(Player.getPlayers()) do\r\n if player.host then\r\n broadcastToColor(msg, player.color, Color.Red)\r\n break\r\n end\r\n end\r\n\r\n return true\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public on_violation handler TableLock.ignore_violation\r\n--\r\n-- Proceed normally.\r\n\r\nfunction TableLock.ignore_violation(msg)\r\n return true\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\n-- ----------------------------------------\r\n-- Private function attach_self\r\n\r\nfunction attach_self(tbl)\r\n local mt = getmetatable(tbl)\r\n if not mt then\r\n mt = { }\r\n setmetatable(tbl, mt)\r\n end\r\n\r\n local self = mt[hook]\r\n if not self then\r\n self = {\r\n hooked = false,\r\n enabled = false,\r\n declared = { },\r\n }\r\n\r\n mt[hook] = self\r\n end\r\n\r\n return mt, self\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TableLock\r\n\nend)\n__bundle_register(\"kintastic/lib/WarningHandlers\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Warning Handlers\r\n--\r\n-- This module should be minimal, being loaded by TableLock and Const.\r\n-- ================================================================================\r\n\r\n-- The module.\r\nlocal WarningHandlers = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public functions.\r\n--\r\n-- These function can be used where:\r\n-- - The function may thrown an exception.\r\n-- - The function may return something false to abort the operation silently.\r\n-- - The function may return something true to proceed normally.\r\n\r\n-- ----------------------------------------\r\n-- Public function WarningHandlers.fatal_violation\r\n--\r\n-- Throw an exception.\r\n\r\nWarningHandlers.fatal_violation = error\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function WarningHandlers.announce_violation\r\n--\r\n-- Announce the violation to the host and proceed normally.\r\n\r\nfunction WarningHandlers.announce_violation(msg)\r\n for i, player in ipairs(Player.getPlayers()) do\r\n if player.host then\r\n broadcastToColor(msg, player.color, Color.Red)\r\n break\r\n end\r\n end\r\n\r\n return true\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function WarningHandlers.announce_violation_to_all\r\n--\r\n-- Announce the violation to all and proceed normally.\r\n\r\nfunction WarningHandlers.announce_violation(msg)\r\n broadcastToAll(msg, player.color, Color.Red)\r\n return true\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function WarningHandlers.ignore_violation\r\n--\r\n-- Proceed normally.\r\n\r\nfunction WarningHandlers.ignore_violation(msg)\r\n return true\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn WarningHandlers\r\n\nend)\n__bundle_register(\"kintastic/lib/Const\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Constant tables\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal WarningHandlers = require(\"kintastic/lib/WarningHandlers\")\r\n\r\n-- Forward declarations for privates found at the bottom.\r\nlocal attach_self\r\n\r\n-- The module.\r\nlocal Const = { }\r\n\r\n-- Constant.\r\nlocal hook = \"__kintastic_Const\"\r\n\r\n\r\n-- ================================================================================\r\n-- Public on_violation handlers.\r\n\r\nfor k, v in pairs(WarningHandlers) do\r\n Const[k] = v\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Public attributes\r\n--\r\n-- Const.on_violation(msg) is called on a constraint violation.\r\n-- - Const.on_violation(msg) may call error() to abort execution.\r\n-- - If Const.on_violation(msg) returns something true, the operation will proceed.\r\n-- - If Const.on_violation(msg) returns something false, the operationg will fail silently.\r\n-- - Note that Const.on_violation(msg) is also called if declare, declare_and_set or merge is misused.\r\n-- - The functions provided by the WarningHandlers module may be used here. They are re-exported by this module.\r\n\r\nConst.is_dev = false -- OBSOLETE. Use a custom on_violation instead.\r\nConst.on_violation = Const.fatal_violation -- Editable.\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Const.const\r\n--\r\n-- Prevents any changes or additions to the provided table.\r\n\r\nfunction Const.const(tbl)\r\n local mt, self = attach_self(tbl)\r\n if not self.hooked then\r\n local old_newindex = mt.__newindex or rawset\r\n\r\n mt.__newindex = function(t, k, v)\r\n if not Const.on_violation(\"Can't modify constant table.\") then\r\n return\r\n end\r\n\r\n return old_newindex(t, k, v)\r\n end\r\n\r\n self.hooked = true\r\n end\r\n\r\n return tbl\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Const.const_if_dev\r\n--\r\n-- OBSOLETE. For backwards compatibility only.\r\n\r\nfunction Const.const_if_dev(tbl)\r\n if Const.is_dev then\r\n Const.const(tbl)\r\n end\r\n\r\n return tbl\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Const.rconst\r\n--\r\n-- A recursive version of Const.const\r\n\r\nfunction Const.rconst(tbl)\r\n for k, v in pairs(tbl) do\r\n if type(v) == \"table\" then\r\n Const.rconst(v)\r\n end\r\n end\r\n\r\n return Const.const(tbl)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Const.rconst_if_dev\r\n--\r\n-- OBSOLETE. For backwards compatibility only.\r\n\r\nfunction Const.rconst_if_dev(tbl)\r\n if Const.is_dev then\r\n Const.rconst(tbl)\r\n end\r\n\r\n return tbl\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\n-- ----------------------------------------\r\n-- Private function attach_self\r\n\r\nfunction attach_self(tbl)\r\n local mt = getmetatable(tbl)\r\n if not mt then\r\n mt = { }\r\n setmetatable(tbl, mt)\r\n end\r\n\r\n local self = mt[hook]\r\n if not self then\r\n self = {\r\n hooked = false,\r\n }\r\n\r\n mt[hook] = self\r\n end\r\n\r\n return mt, self\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Const\r\n\nend)\n__bundle_register(\"kintastic/lib/Wrap\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Function wrapping utilities.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TableLock = require(\"kintastic/lib/TableLock\")\r\n\r\n-- The module.\r\nlocal Wrap = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\nlocal function dummy() end\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function Wrap.wrap\r\n\r\nfunction Wrap.wrap(tbl, name, f)\r\n TableLock.declare(tbl, name)\r\n local old_f = tbl[name] or dummy\r\n tbl[name] = |...|f(old_f, ...)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Wrap.before\r\n\r\nfunction Wrap.before(tbl, name, f)\r\n TableLock.declare(tbl, name)\r\n local old_f = tbl[name]\r\n if old_f then\r\n tbl[name] = function(...)\r\n f(...)\r\n return old_f(...)\r\n end\r\n else\r\n tbl[name] = function(...)\r\n f(...)\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Wrap.after\r\n\r\nfunction Wrap.after(tbl, name, f)\r\n TableLock.declare(tbl, name)\r\n local old_f = tbl[name]\r\n if old_f then\r\n tbl[name] = function(...)\r\n local rv = { old_f(...) }\r\n f(...)\r\n return table.unpack(rv)\r\n end\r\n else\r\n tbl[name] = function(...)\r\n f(...)\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Wrap.define_event\r\n--\r\n-- Note: An extra unused parmeter is passed to allow for future expansion.\r\n\r\nlocal listeners_by_event = { }\r\n\r\nfunction Wrap.define_event(name)\r\n TableLock.declare(_G, name)\r\n\r\n local listeners = listeners_by_event[name]\r\n if listeners then\r\n return\r\n end\r\n\r\n listeners = { }\r\n listeners_by_event[name] = listeners\r\n Wrap.after(_G, name,\r\n function(...)\r\n for i, listener in ipairs(listeners) do\r\n listener({}, ...)\r\n end\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Wrap.add_event_listener\r\n--\r\n-- Note: An extra unused parmeter is passed to allow for future expansion.\r\n\r\nfunction Wrap.add_event_listener(name, f)\r\n Wrap.define_event(name)\r\n table.insert(listeners_by_event[name], f)\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Wrap\r\n\nend)\n__bundle_register(\"kintastic/lib/Promise/TtsWebRequest\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Promise-based version of WebRequest methods.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Promise = require(\"kintastic/lib/Promise\")\r\n\r\n-- The module.\r\nlocal TtsWebRequest = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWebRequest.get\r\n\r\nfunction TtsWebRequest.get(url)\r\n return Promise:new(\r\n function(resolve, reject)\r\n WebRequest.get(url,\r\n function(response)\r\n if response.is_error then\r\n reject(response.error)\r\n elseif response.is_done then\r\n resolve(response.text)\r\n else\r\n -- Handling progress is not yet supported.\r\n end\r\n end\r\n )\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWebRequest.post\r\n\r\nfunction TtsWebRequest.post(url, form)\r\n return Promise:new(\r\n function(resolve, reject)\r\n WebRequest.post(url, form,\r\n function(response)\r\n if response.is_error then\r\n reject(response.error)\r\n elseif response.is_done then\r\n resolve(response.text)\r\n else\r\n -- Handling progress is not yet supported.\r\n end\r\n end\r\n )\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWebRequest.put\r\n\r\nfunction TtsWebRequest.put(url, data)\r\n return Promise:new(\r\n function(resolve, reject)\r\n WebRequest.put(url, data,\r\n function(response)\r\n if response.is_error then\r\n reject(response.error)\r\n elseif response.is_done then\r\n resolve(response.text)\r\n else\r\n -- Handling progress is not yet supported.\r\n end\r\n end\r\n )\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsWebRequest\r\n\nend)\n__bundle_register(\"kintastic/lib/Promise\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Promise class\r\n-- The PromiseClass module provides the actual class, while this\r\n-- module provides ways of constructing instances of that class.\r\n-- This allows us to have constructors and instances methods with the same name.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Errors = require(\"kintastic/lib/Errors\")\r\nlocal Introspection = require(\"kintastic/lib/Introspection\")\r\nlocal Iters = require(\"kintastic/lib/Iters\")\r\nlocal PromiseClass = require(\"kintastic/lib/PromiseClass\")\r\n\r\n-- Imports.\r\nlocal is_callable = Introspection.is_callable\r\nlocal is_instance_of = Introspection.is_instance_of\r\nlocal ivalues = Iters.ivalues\r\n\r\n-- The class.\r\n-- Contains only constuctors.\r\n-- Never instantiated.\r\nlocal Promise = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public constructors\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:new\r\n\r\nfunction Promise.new(class, executor)\r\n return PromiseClass:new(executor)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:try\r\n--\r\n-- Usage:\r\n-- local promise = Promise:try(\r\n-- function()\r\n-- ...\r\n-- error(reason)\r\n-- ...\r\n-- return x\r\n-- end\r\n-- )\r\n--\r\n-- The above example is equivalent to\r\n--\r\n-- local promise = Promise:new(\r\n-- function(resolve, reject)\r\n-- ...\r\n-- reject(reason)\r\n-- ...\r\n-- resolve(x)\r\n-- end\r\n-- )\r\n--\r\n-- This can be used in lieu of a Promise:new when\r\n-- either resolve() or reject() is always called\r\n-- before the callback returns.\r\n\r\nfunction Promise.try(class, func)\r\n return class:new(\r\n function(resolve, reject)\r\n resolve(func())\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:timeout\r\n--\r\n-- Create a promise that becomes rejected after a specified amount of time.\r\n\r\nfunction Promise.timeout(class, seconds)\r\n return class:new(\r\n function(resolve, reject)\r\n Wait.time(||reject(Errors.ETIMEOUT), seconds)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:fulfill.\r\n--\r\n-- Creates a promise that's fulfilled with the provided value.\r\n-- You normally want to use Promise:resolve() instead.\r\n\r\nfunction Promise.fulfill(class, value)\r\n local promise = Promise:new()\r\n promise:_transition(false, Promise.States.FULFILLED, value)\r\n return promise\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:reject\r\n--\r\n-- Creates a promise that's rejected.\r\n\r\nfunction Promise.reject(class, reason)\r\n local promise = Promise:new()\r\n promise:_transition(false, Promise.States.REJECTED, reason)\r\n return promise\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:resolve\r\n--\r\n-- Usage:\r\n-- local promise = Promise:resolve(x)\r\n--\r\n-- Used to create a fulfilled promise, or\r\n-- to ensure that something is a Promise.\r\n--\r\n-- If `x` is a Promise, it's simply returned.\r\n-- If `x` is Promise-like, a Promise that mirrors `x` is returned.\r\n-- Otherwise, a promised already fulfilled with the value of `x` is returned.\r\n\r\nfunction Promise.resolve(class, x)\r\n local success, rv = pcall(\r\n function()\r\n -- Return a prebuilt promise if one exists.\r\n do\r\n local promise = class.promises[ x == nil and Promise.NIL or x ]\r\n if promise then\r\n return promise\r\n end\r\n end\r\n\r\n if is_instance_of(x, PromiseClass) then\r\n return x\r\n end\r\n\r\n if type(x) == \"table\" then\r\n -- We specifically want to avoid accessing x.next twice.\r\n local next = x.next\r\n if is_callable(next) then\r\n local promise = class:new()\r\n promise:_adopt_promiselike(o, next)\r\n return promise\r\n end\r\n end\r\n\r\n return class:fulfill(x)\r\n end\r\n )\r\n\r\n if success then\r\n return rv\r\n else\r\n return class:reject(rv)\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:all_settled\r\n--\r\n-- Usage:\r\n-- local promise = Promise:all_settled({ promise1, promise2, ... })\r\n--\r\n-- Returns a promise.\r\n-- The promise becomes fulfilled once all of the provided promises have become fulfilled or rejected.\r\n-- The fulfillment value is an array of information the fulfillment/rejection state of each promise.\r\n-- Passing an empty array returns a fulfilled promise.\r\n\r\nfunction Promise.all_settled(class, array)\r\n return class:new(\r\n function(resolve, reject)\r\n local results = { }\r\n local num_pending = 0\r\n for i, promise in ipairs(array) do\r\n promise = class:resolve(promise)\r\n num_pending = num_pending + 1\r\n promise:next(\r\n function(value)\r\n results[i] = { status = \"fulfilled\", value = value }\r\n num_pending = num_pending - 1\r\n if num_pending == 0 then\r\n resolve(results)\r\n end\r\n end,\r\n function(reason)\r\n results[i] = { status = \"rejected\", reason = reason }\r\n num_pending = num_pending - 1\r\n if num_pending == 0 then\r\n resolve(results)\r\n end\r\n end\r\n )\r\n end\r\n\r\n if num_pending == 0 then\r\n resolve(results)\r\n end\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:all\r\n--\r\n-- Usage:\r\n-- local promise = Promise:all({ promise1, promise2, ... })\r\n--\r\n-- Returns a promise.\r\n-- The promise becomes fulfilled once all of the provided promises have become fulfilled.\r\n-- The fulfillment value is an array of the fulfillment values of the fulfilled promises.\r\n-- The promise becomes rejected once any of the provided promises has become rejected.\r\n-- The rejection reason is the rejection reason of the rejected promise.\r\n-- Passing an empty array returns a promise fulfilled with an empty array.\r\n\r\nfunction Promise.all(class, array)\r\n return class:new(\r\n function(resolve, reject)\r\n local values = { }\r\n local num_pending = 0\r\n for i, promise in ipairs(array) do\r\n promise = class:resolve(promise)\r\n num_pending = num_pending + 1\r\n promise:next(\r\n function(value)\r\n values[i] = value\r\n num_pending = num_pending - 1\r\n if num_pending == 0 then\r\n resolve(values)\r\n end\r\n end,\r\n reject\r\n )\r\n end\r\n\r\n if num_pending == 0 then\r\n resolve(values)\r\n end\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:any\r\n--\r\n-- Usage:\r\n-- local promise = Promise:any({ promise1, promise2, ... })\r\n--\r\n-- Returns a promise.\r\n-- The promise becomes fulfilled once any of the provided promises has become fulfilled.\r\n-- The fulfillment value is the fulfillment value of the fulfilled promise.\r\n-- The promise becomes rejected once all of the provided promises have become rejected.\r\n-- The rejection reason an array of the rejection resons of the rejected promises.\r\n-- Passing an empty array returns a promise fulfilled with an empty array.\r\n\r\nfunction Promise.any(class, array)\r\n return class:new(\r\n function(resolve, reject)\r\n local reasons = { }\r\n local num_pending = 0\r\n for i, promise in ipairs(array) do\r\n promise = class:resolve(promise)\r\n num_pending = num_pending + 1\r\n promise:next(\r\n resolve,\r\n function(reason)\r\n reasons[i] = reason\r\n num_pending = num_pending - 1\r\n if num_pending == 0 then\r\n reject(reasons)\r\n end\r\n end\r\n )\r\n end\r\n\r\n if num_pending == 0 then\r\n reject(reasons)\r\n end\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Promise:race\r\n--\r\n-- Usage:\r\n-- local promise = Promise:race({ promise1, promise2, ... })\r\n--\r\n-- Returns a promise.\r\n-- The promise becomes fulfilled once any of the provided promises has become fulfilled.\r\n-- The fulfillment value is the fulfillment value of the fulfilled promise.\r\n-- The promise becomes rejected once any of the provided promises has become rejected.\r\n-- The rejection reason is the rejection reason of the rejected promise.\r\n-- Passing an empty array returns a fulfilled promise.\r\n\r\nfunction Promise.race(class, array)\r\n if #array <= 1 then\r\n return Promise:resolve(array[1])\r\n end\r\n\r\n return class:new(\r\n function(resolve, reject)\r\n for i, promise in ipairs(array) do\r\n promise = class:resolve(promise)\r\n promise:next(resolve, reject)\r\n end\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Public functions\r\n\r\n-- ----------------------------------------\r\n-- Public function Promise.all_settled_error_logger\r\n--\r\n-- Usage:\r\n-- Promise:all_settled(promises)\r\n-- :next(Promise.all_settled_error_logger)\r\n--\r\n-- Note that this isn't a method!\r\n\r\nfunction Promise.all_settled_error_logger(value)\r\n local values = { }\r\n for result in ivalues(value) do\r\n if result.status == \"rejected\" then\r\n -- XXX Should handle weird reasons better. Especially since this is in a loop.\r\n broadcastToAll(result.reason, Color.Red)\r\n else\r\n table.insert(values, result.value)\r\n end\r\n end\r\n\r\n return values\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Semi-public\r\n-- You probably shouldn't be using these directly.\r\n\r\n-- ----------------------------------------\r\n-- Semi-public state constants.\r\n\r\nPromise.States = PromiseClass.States\r\n\r\n\r\n-- ----------------------------------------\r\n-- Semi-public pregenerated promises.\r\n\r\n-- This is used as the key when looking for a prebuilt promise for `nil`.\r\nPromise.NIL = { }\r\n\r\nPromise.promises = {\r\n [ Promise.NIL ] = Promise:fulfill(nil),\r\n [ true ] = Promise:fulfill(true),\r\n [ false ] = Promise:fulfill(false),\r\n [ 0 ] = Promise:fulfill(0),\r\n [ \"\" ] = Promise:fulfill(\"\"),\r\n}\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Promise\r\n\nend)\n__bundle_register(\"kintastic/lib/PromiseClass\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Promise class\r\n-- This module provides the actual class, while the Promise\r\n-- module provides ways of constructing instances of this class.\r\n-- This allows us to have constructors and instances methods with the same name.\r\n--\r\n-- Compliant with the Promises/A+ spec.\r\n-- https://promisesaplus.com/\r\n--\r\n-- Accomodations for the differences bewteen Lua and JavaScript:\r\n-- - `then` is a reserved word in Lua, so `next` is used intead. [throughout, incl 1.1 and 2.3.3.1]\r\n-- - The Lua equivalent to an object is a table. [1.2]\r\n-- - The Lua equivalent to a function object is a table with a `__call` metamethod. [1.2, 2.3.3]\r\n-- - While JS function can only return a single value, Lua functions can return a non-negative number of values.\r\n-- The value of a fulfilled promise is meant to represent what a function returns, so one could conceivably\r\n-- expect the value of a Lua promise to be a list of values. However, this module will adopt the JS-centric\r\n-- approach of having exactly one value. [2.2.7.1]\r\n-- - Lua doesn't have a TypeError class, so Errors.ETYPE is used instead. [2.3.1]\r\n-- - The Lua equivalent of calling a function as a method is to pass the invocant as the first argument. [2.3.3.3]\r\n--\r\n-- Resolution of Ambiguities:\r\n-- - It is understood that returning nothing is the same as returning `undefined` (JS) or `nil` (Lua). [2.2.7.1]\r\n-- - It is understood that returned values beyond the first are ignored.\r\n-- - It is understood that once a promise adopts the state of another, its own state can no longer be changed except to mirror the other. [2.3.1.1]\r\n-- - It is understood that being called with no arguments is the same as being called with `undefined` (JS) or `nil` (Lua). [2.3.3.3.1]\r\n-- - It is understood that arguments beyond the first are ignored. [2.3.3.3.1]\r\n--\r\n-- Optimizations:\r\n-- - `next` returns `self` if neither arguments are callable.\r\n-- - When resolving, a prebuilt promise may be returned. [2.2.7.1]\r\n--\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Async = require(\"kintastic/lib/Async\")\r\nlocal Errors = require(\"kintastic/lib/Errors\")\r\nlocal Introspection = require(\"kintastic/lib/Introspection\")\r\nlocal Queue = require(\"kintastic/lib/Queue\")\r\n\r\n-- Imports.\r\nlocal async = Async.async\r\nlocal is_callable = Introspection.is_callable\r\nlocal is_instance_of = Introspection.is_instance_of\r\n\r\n-- Forward declarations for privates found at the bottom.\r\nlocal on_fulfilled_default, on_rejected_default\r\nlocal schedule\r\n\r\n-- The real class.\r\n-- This allows us to have constructors and\r\n-- instance methods with the same name.\r\nlocal PromiseClass = { }\r\n\r\nPromiseClass.mt = {\r\n __index = PromiseClass,\r\n}\r\n\r\n\r\n-- ================================================================================\r\n-- Public constructors\r\n\r\n-- ----------------------------------------\r\n-- Public constructor PromiseClass:new\r\n-- Also available as Promise:new\r\n--\r\n-- Usage:\r\n-- local promise = Promise:new(\r\n-- function(resolve, reject)\r\n-- ...\r\n-- resolve(x)\r\n-- ...\r\n-- reject(reason)\r\n-- ...\r\n-- end\r\n-- )\r\n--\r\n-- If `resolve` is called with a Promise or something Promise-like, `promise` becomes a mirror for the\r\n-- state of `x`, effectively inserting `x` into the \"chain\" of Promises.\r\n-- If `resolve` is called with something else, `promise` becomes fulfilled with the provided value.\r\n-- If `resolve` is called without arguments, the promise will become fulfilled with `nil`.\r\n-- `resolve` may be called asynchronously, after the provided function has returned.\r\n-- `resolve` needs not be called at all.\r\n-- Calls to `resolve` after `promise` has been fulfilled or rejected will be ignored.\r\n--\r\n-- If `reject` is called, the promise will become rejected with the provided reason.\r\n-- `reject` may be called asynchronously, after the provided function has returned.\r\n-- `reject` needs not be called at all.\r\n-- Calls to `reject` after `promise` has been fulfilled or rejected will be ignored.\r\n--\r\n-- If the provided function throws an exception, `promise` will become rejected with the exception message.\r\n--\r\n-- It's possible to call `new()` with no arguments. The following is equilvalent to the earlier example:\r\n--\r\n-- local promise = Promise:new()\r\n-- local success, rv = pcall(\r\n-- function(\r\n-- ...\r\n-- promise:resolve(x) -- or local resolve = promise:resolver(x) resolve()\r\n-- ...\r\n-- promise:reject(reason) -- or local reject = promise:rejecter(reason) reject()\r\n-- ...\r\n-- end\r\n-- )\r\n--\r\n-- if not success then\r\n-- promise:reject(rv)\r\n-- end\r\n\r\nfunction PromiseClass.new(class, executor)\r\n local self = setmetatable({}, class.mt)\r\n\r\n self.class = class -- :next() uses this create promises of the same class as its invocant.\r\n self.mirroring = false\r\n self.state = PromiseClass.States.PENDING\r\n self.value = nil -- value or reason\r\n self.queue = Queue:new()\r\n\r\n if executor then\r\n local success, rv = pcall(\r\n function()\r\n executor(\r\n function(x) self:resolve(x) end,\r\n function(reason) self:reject(reason) end\r\n )\r\n end\r\n )\r\n\r\n if not success then\r\n self:reject(rv)\r\n end\r\n end\r\n\r\n return self\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Public instance methods\r\n\r\n-- ----------------------------------------\r\n-- Public instance method promise:next\r\n--\r\n-- Usage:\r\n-- local promise2 = promise:next(\r\n-- function(value)\r\n-- ...\r\n-- end,\r\n-- function(reason)\r\n-- ...\r\n-- end\r\n-- )\r\n--\r\n-- \"Waits\" for `promise` to become fulfilled or rejected.\r\n--\r\n-- That is to say, it causes actions to be taken once the Promise `promise` becomes fulfilled or rejected.\r\n-- The first function will be called once the promise becomes fulfilled.\r\n-- The second function will be called once the promise becomes rejected.\r\n-- If the promise is already fulfilled or rejected, the functions will be called shortly after `next()` is called.\r\n-- These functions are called asynchronously, with only \"platform code\" on the stack.\r\n--\r\n-- If either function returns with a Promise or something Promise-like, `promise2` becomes a mirror for\r\n-- the state of this promise, effectively inserting the returned promise into the \"chain\" of Promises.\r\n-- If either function returns something else, `promise2` will become fulfilled with the first returned value.\r\n-- If either function returns nothing, `promise2` will become fulfilled with the value `nil`.\r\n-- If either function throws an error, `promise2` will become rejected with the exception as the reason.\r\n--\r\n-- The arguments are optional.\r\n-- The first defaults to a function that returns its argument.\r\n-- The second defaults to a function that calls error with its argument.\r\n\r\nfunction PromiseClass:next(on_fulfilled, on_rejected)\r\n local on_fulfilled_callable = is_callable(on_fulfilled)\r\n local on_rejected_callable = is_callable(on_rejected)\r\n if not on_fulfilled_callable and not on_rejected_callable then\r\n return self\r\n end\r\n\r\n -- This promise will become fulfilled or rejected in on_state_change.\r\n local promise = self.class:new()\r\n\r\n self.queue:enqueue({\r\n on_fulfilled = on_fulfilled_callable and on_fulfilled or on_fulfilled_default,\r\n on_rejected = on_rejected_callable and on_rejected or on_rejected_default,\r\n next_promise = promise,\r\n })\r\n\r\n if self.state ~= PromiseClass.States.PENDING then\r\n schedule(self)\r\n end\r\n\r\n return promise\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method promise:done\r\n--\r\n-- A sink used to ensure errors are reported.\r\n-- The arguments are optional.\r\n\r\nfunction PromiseClass:done(on_fulfilled, on_rejected)\r\n if on_fulfilled or on_rejected then\r\n self = self:next(on_fulfilled, on_rejected)\r\n end\r\n\r\n return\r\n self:next(\r\n nil,\r\n function(reason)\r\n broadcastToAll(reason, Color.Red)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method promise:catch\r\n\r\nfunction PromiseClass:catch(on_rejected)\r\n return self:next(nil, on_rejected)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method promise:finally\r\n\r\nfunction PromiseClass:finally(on_finally)\r\n return self:next(\r\n function(value) on_finally() return value end,\r\n function(reason) on_finally() error(reason) end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method promise:sleep\r\n--\r\n-- WARNING: DEPRECATED/OBSOLETE.\r\n-- Instead of promise:sleep(secs), use promise:finally(TtsWait.time(secs))\r\n-- Instead of promise:sleep(secs, false), use promise:finally(TtsWait.time(secs))\r\n-- Instead of promise:sleep(secs, true), use promise:next(TtsWait.time(secs))\r\n-- TtsWait refers to the kintastic/Promise/TtsWait module.\r\n\r\nfunction PromiseClass:sleep(secs, only_sleep_on_resolve)\r\n return self:next(\r\n function(value)\r\n return self.class:new(\r\n function(resolve, reject)\r\n Wait.time(||resolve(value), secs)\r\n end\r\n )\r\n end,\r\n function(reason)\r\n if only_sleep_on_resolve then\r\n error(reason)\r\n end\r\n\r\n return self.class:new(\r\n function(resolve, reject)\r\n Wait.time(||reject(reason), secs)\r\n end\r\n )\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method promise:frame_skip\r\n--\r\n-- WARNING: DEPRECATED/OBSOLETE.\r\n-- Instead of promise:frame_skip(), use promise:finally(TtsWait.frames(1))\r\n-- TtsWait refers to the kintastic/Promise/TtsWait module.\r\n\r\nfunction PromiseClass:frame_skip()\r\n return self:next(\r\n function(value)\r\n return self.class:new(\r\n function(resolve, reject)\r\n Wait.frames(||resolve(value), 1)\r\n end\r\n )\r\n end,\r\n function(reason)\r\n return self.class:new(\r\n function(resolve, reject)\r\n Wait.frames(||reject(reason), 1)\r\n end\r\n )\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Semi-public\r\n-- You probably shouldn't be using these directly.\r\n\r\n-- ----------------------------------------\r\n-- Semi-public state constants.\r\n\r\nPromiseClass.States = {\r\n PENDING = \"pending\",\r\n FULFILLED = \"fulfilled\",\r\n REJECTED = \"rejected\",\r\n}\r\n\r\n\r\n-- ----------------------------------------\r\n-- Semi-public instance methods promise:resolver and promise:rejecter\r\n--\r\n-- These return functions that call resolve and reject repectively.\r\n-- Useful where a callback is expected.\r\n-- Arguments passed to the returned functions are ignored.\r\n\r\nfunction PromiseClass:resolver(x) return function() self:resolve(x) end end\r\nfunction PromiseClass:rejecter(reason) return function() self:reject(reason) end end\r\n\r\n\r\n-- ----------------------------------------\r\n-- Semi-public instance methods promise:fulfill and promise:reject\r\n-- ** These are different methods than class method Promise:fulfill and Promise:reject **\r\n--\r\n-- Marks the Promise as fulfilled or rejected if it's pending and if it isn't mirroring.\r\n\r\nfunction PromiseClass:fulfill(value) self:_transition(false, PromiseClass.States.FULFILLED, value) end\r\nfunction PromiseClass:reject(reason) self:_transition(false, PromiseClass.States.REJECTED, reason) end\r\n\r\n\r\n-- ----------------------------------------\r\n-- Semi-Public instance method promise:resolve\r\n-- ** This is a different method than class method Promise:resolve **\r\n--\r\n-- If `promise:resolve` is called with a Promise or something Promise-like, `promise` becomes a mirror for the\r\n-- state of `x`, effectively inserting `x` into the \"chain\" of Promises.\r\n-- If `promise:resolve` is called with something else, `promise` becomes fulfilled with the provided value.\r\n-- If `promise:resolve` is called without arguments, the promise will become fulfilled with `nil`.\r\n-- Calls to this function with an invocant (`self`) that has been fulfilled or rejected has no effect.\r\n-- Calls to this function with an invocant (`self`) that is mirroring has no effect.\r\n\r\nfunction PromiseClass:resolve(x)\r\n if self.state ~= PromiseClass.States.PENDING or self.mirroring then\r\n return\r\n end\r\n\r\n local success, rv = pcall(\r\n function()\r\n if is_instance_of(x, PromiseClass) then\r\n self:_adopt_promise(x)\r\n return\r\n end\r\n\r\n if type(x) == \"table\" then\r\n local next = x.next\r\n if is_callable(next) then\r\n self:_adopt_promiselike(x, next)\r\n return\r\n end\r\n end\r\n\r\n self:fulfill(x)\r\n end\r\n )\r\n\r\n if not success then\r\n self:reject(rv)\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\n-- ----------------------------------------\r\n-- Default values for `next`'s arguments.\r\n\r\nfunction on_fulfilled_default(value)\r\n return value\r\nend\r\n\r\n\r\nfunction on_rejected_default(reason)\r\n error(reason)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private instance method promise:_adopt_promise\r\n--\r\n-- Causes the promise (`self`) to mirror the state of another Promise (`promise_to_mirror`).\r\n--\r\n-- Usage:\r\n-- if promise.state == PromiseClass.States.PENDING and not promise.mirroring then\r\n-- local success, rv = pcall(\r\n-- function()\r\n-- promise:_adopt_promise(promise_to_mirror)\r\n-- end\r\n-- end\r\n--\r\n-- if not success then\r\n-- promise:reject(rv)\r\n-- end\r\n-- end\r\n\r\nfunction PromiseClass:_adopt_promise(promise_to_mirror)\r\n if self == promise_to_mirror then\r\n self:reject(Errors.ETYPE) -- A promise can't adopt itself.\r\n return\r\n end\r\n\r\n -- `self`'s state is entirely dependent on `promise_to_mirror`'s now.\r\n self.mirroring = true\r\n\r\n -- Optimization\r\n if promise_to_mirror.state ~= PromiseClass.States.PENDING then\r\n self:_transition(true, promise_to_mirror.state, promise_to_mirror.value)\r\n return\r\n end\r\n\r\n promise_to_mirror:next(\r\n function(value)\r\n self:_transition(true, PromiseClass.States.FULFILLED, value)\r\n end,\r\n function(reason)\r\n self:_transition(true, PromiseClass.States.REJECTED, reason)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private instance method promise:_adopt_promiselike\r\n--\r\n-- Causes the promise (`self`) to mirror the state of a Promise-like object (`promiselike_to_mirror`).\r\n--\r\n-- Usage:\r\n-- if promise.state == PromiseClass.States.PENDING and not promise.mirroring then\r\n-- local success, rv = pcall(\r\n-- function()\r\n-- promise:_adopt_promiselike(promiselike, promiselike.next)\r\n-- end\r\n-- end\r\n--\r\n-- if not success then\r\n-- promise:reject(rv)\r\n-- end\r\n-- end\r\n\r\nfunction PromiseClass:_adopt_promiselike(promiselike_to_mirror, next)\r\n if self == promiselike_to_mirror then\r\n self:reject(Errors.ETYPE) -- A promise can't adopt itself\r\n return\r\n end\r\n\r\n -- `self`'s state is entirely dependent on `promiselike_to_mirror`'s now.\r\n self.mirroring = true\r\n\r\n async(\r\n function()\r\n local success, rv = pcall(\r\n function()\r\n next(promiselike_to_mirror,\r\n function(y) self:resolve(y) end,\r\n function(reason) self:reject(reason) end\r\n )\r\n end\r\n )\r\n\r\n if not success then\r\n self:reject(rv)\r\n end\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private instance method promise:on_state_change\r\n--\r\n-- This method represents the core functionality of promises.\r\n--\r\n-- Once a Promise (`self`) becomes fulfilled or rejected, this is called.\r\n-- This method calls one of the callbacks provided to `self.next()`.\r\n-- This will lead to the Promise returned by `self.next()` (`next_promise`)\r\n-- to become fulfilled or rejected.\r\n--\r\n-- This can happen immediately on return of the callback, or it may happen\r\n-- later if the callback returns a Promise (or something Promise-like). If a\r\n-- Promise or similar is returned, `next_promise` becomes a mirror for the\r\n-- state of this promise, effectively inserting the returned promise into\r\n-- the \"chain\" of Promises.\r\n\r\nlocal function on_state_change(self, on_fulfilled, on_rejected, next_promise)\r\n local cb\r\n if self.state == PromiseClass.States.FULFILLED then\r\n cb = on_fulfilled\r\n else\r\n cb = on_rejected\r\n end\r\n\r\n local success, x = pcall(cb, self.value)\r\n if success then\r\n next_promise:resolve(x)\r\n else\r\n next_promise:reject(x)\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private instance method promise:schedule\r\n--\r\n-- Schedule the Promise's `.next()` callbacks for asynchronous execution.\r\n-- Called when a Promise becomes fulfilled or rejected, and when `.next()`\r\n-- is called on an already-fulfilled or already-rejected Promise.\r\n\r\nfunction schedule(self)\r\n local queue = self.queue\r\n while not queue:is_empty() do\r\n local data = queue:dequeue()\r\n async(on_state_change, self, data.on_fulfilled, data.on_rejected, data.next_promise)\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private instance method promise:_transition\r\n--\r\n-- Called to mark a Promise as fulfilled or rejected.\r\n-- It causes `.next()` callbacks to be scheduled.\r\n--\r\n-- If `self` has already become fulfilled or rejected\r\n-- calling this method has no effect.\r\n--\r\n-- If `self` is mirroring another Promise or promise-like object,\r\n-- calling this method has no effect unless `force` is true.\r\n\r\nfunction PromiseClass:_transition(force, state, value)\r\n if self.state == PromiseClass.States.PENDING and ( force or not self.mirroring ) then\r\n self.state = state\r\n self.value = value\r\n schedule(self)\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn PromiseClass\r\n\nend)\n__bundle_register(\"kintastic/lib/Queue\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Queue class\r\n-- ================================================================================\r\n\r\n-- The class.\r\nlocal Queue = { }\r\n\r\nQueue.mt = {\r\n __index = Queue,\r\n}\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Queue:new\r\n--\r\n-- Usage:\r\n-- local q = Queue:new()\r\n\r\nfunction Queue.new(class)\r\n local self = setmetatable({}, class.mt)\r\n\r\n self.head = nil\r\n self.tail = nil\r\n\r\n return self\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method queue:enqueue\r\n\r\nfunction Queue:enqueue(value)\r\n local node = {\r\n value = value,\r\n next = nil,\r\n }\r\n\r\n if self.tail then\r\n self.tail.next = node\r\n else\r\n self.head = node\r\n end\r\n\r\n self.tail = node\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method queue:is_empty\r\n\r\nfunction Queue:is_empty()\r\n return self.head == nil\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method queue:dequeue\r\n\r\nfunction Queue:dequeue()\r\n if self.head == nil then\r\n return\r\n end\r\n\r\n local value = self.head.value\r\n self.head = self.head.next\r\n if not self.head then\r\n self.tail = nil\r\n end\r\n\r\n return value\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Queue\r\n\nend)\n__bundle_register(\"kintastic/lib/Introspection\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Introspection utils\r\n-- ================================================================================\r\n\r\n-- The module.\r\nlocal Introspection = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function Introspection.get_class\r\n\r\nfunction Introspection.get_class(_)\r\n if type(_) ~= \"table\" then\r\n return nil\r\n end\r\n\r\n local mt = getmetatable(_)\r\n if not mt then\r\n return nil\r\n end\r\n\r\n local class = mt.__index\r\n\r\n if type(class) ~= \"table\" then\r\n return nil\r\n end\r\n\r\n return class\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Introspection.is_instance_of\r\n--\r\n-- Returns true if the argument `_` is `class`,\r\n-- a subclass of `class`, an instance of `class`,\r\n-- or an instance of a subclass of `class`.\r\n\r\nfunction Introspection.is_instance_of(_, class)\r\n while _ ~= class do\r\n if type(_) ~= \"table\" then\r\n return false\r\n end\r\n\r\n local mt = getmetatable(_)\r\n if not mt then\r\n return false\r\n end\r\n\r\n _ = mt.__index\r\n end\r\n\r\n return true\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Introspection.is_callable\r\n\r\nfunction Introspection.is_callable(_)\r\n while true do\r\n local t = type(_)\r\n if t == \"function\" then return true end\r\n if t ~= \"table\" then return false end\r\n\r\n local mt = getmetatable(_)\r\n if not mt then\r\n return false\r\n end\r\n\r\n _ = mt.__call\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Introspection\r\n\nend)\n__bundle_register(\"kintastic/lib/Errors\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Errors returned by this library.\r\n-- Currently just string, but could be one day become objects.\r\n-- So use these constants rather than the strings.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Const = require(\"kintastic/lib/Const\")\r\nlocal TableLock = require(\"kintastic/lib/TableLock\")\r\n\r\n-- Imports.\r\nlocal const = Const.const\r\nlocal lock = TableLock.lock\r\n\r\n-- The module.\r\nreturn const(lock({\r\n EDESTROYED = \"Destroyed\",\r\n EEMPTY = \"Empty container\",\r\n ENOTCONTAINER = \"Not a container\",\r\n ETIMEOUT = \"Timeout\",\r\n ETYPE = \"TypeError\",\r\n}))\r\n\nend)\n__bundle_register(\"kintastic/lib/Async\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Asynchronous Execution\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Queue = require(\"kintastic/lib/Queue\")\r\nlocal TtsMsgUtils = require(\"kintastic/lib/TtsMsgUtils\")\r\n\r\n-- Forward declarations for privates found at the bottom.\r\nlocal initiated\r\nlocal queue\r\nlocal async_run\r\n\r\n-- The module.\r\nlocal Async = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function Async.async\r\n--\r\n-- Runs the provided function asynchronously. Extra arguments passed to `async`\r\n-- will be passed to the function.\r\n--\r\n-- WARNING: A nil argument may cause subsequent arguments to be ignored.\r\n--\r\n-- On execution, the function's stack will be empty except for \"platform code\".\r\n-- As such, its execution won't start immediately, but shortly after.\r\n\r\nfunction Async.async(cb, ...)\r\n queue:enqueue({ cb, ... })\r\n if not initiated then\r\n initiated = true\r\n Wait.frames(async_run, 0)\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\ninitiated = false\r\nqueue = Queue:new()\r\n\r\nfunction async_run()\r\n initiated = false\r\n while not queue:is_empty() do\r\n local item = queue:dequeue()\r\n local success, rv = pcall(\r\n function()\r\n -- Do absolutely everything with user data inside of a pcall.\r\n item[1](unpack(item, 2))\r\n end\r\n )\r\n\r\n if not success then\r\n -- `rv` is also user data.\r\n local success = pcall(\r\n function()\r\n -- ~~~ XXX Handle tables of error messages.\r\n TtsMsgUtils.broadcast_error(\"Error in async callback: \" .. rv)\r\n end\r\n )\r\n\r\n if not success then\r\n TtsMsgUtils.broadcast_error(\"Error in async callback\")\r\n end\r\n end\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Async\r\n\nend)\n__bundle_register(\"kintastic/lib/TtsZoneUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- TTS zone utils\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Introspection = require(\"kintastic/lib/Introspection\")\r\nlocal Iters = require(\"kintastic/lib/Iters\")\r\nlocal TtsObject = require(\"kintastic/lib/Promise/TtsObject\")\r\n\r\n-- Imports.\r\nlocal is_callable = Introspection.is_callable\r\nlocal ivalues = Iters.ivalues\r\n\r\n-- The module.\r\nlocal TtsZoneUtils = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsZoneUtils.does_zone_contain_object\r\n\r\nfunction TtsZoneUtils.does_zone_contain_object(zone, obj)\r\n for zone_obj in ivalues(zone.getObjects()) do\r\n if zone_obj == obj then\r\n return true\r\n end\r\n end\r\n\r\n return false\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsZoneUtils.find_zone\r\n--\r\n-- Find the zone that contains an object.\r\n--\r\n-- WARNING: Returns two values.\r\n--\r\n-- Usage:\r\n-- local i, zone = TtsZoneUtils.find_zone(zones, obj_to_find)\r\n-- local i, zone = TtsZoneUtils.find_zone(zones, |obj|obj==obj_to_find)\r\n\r\nfunction TtsZoneUtils.find_zone(zones, test)\r\n if not is_callable(test) then\r\n local target = test\r\n test = function(obj)\r\n return obj == target\r\n end\r\n end\r\n\r\n for i, zone in ipairs(zones) do\r\n for obj in ivalues(zone.getObjects()) do\r\n if test(obj) then\r\n return i, zone\r\n end\r\n end\r\n end\r\n\r\n return\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsZoneUtils.find_zones_containing_object\r\n--\r\n-- Only finds scripting zones at the time.\r\n-- Parameters may allow this behavour to\r\n-- be controlled in the future.\r\n--\r\n-- WARNING: Expensive!\r\n\r\nfunction TtsZoneUtils.find_zones_containing_object(obj, reserved)\r\n local zones = { }\r\n for i, maybe_zone in ipairs(getAllObjects()) do\r\n if maybe_zone.name == \"ScriptingTrigger\" then\r\n for i, maybe_obj in ipairs(maybe_zone.getObjects()) do\r\n if maybe_obj == obj then\r\n table.insert(zones, maybe_zone)\r\n end\r\n end\r\n end\r\n end\r\n\r\n return zones\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsZoneUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/Promise/TtsObject\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Promise-based version of Object methods.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Errors = require(\"kintastic/lib/Errors\")\r\nlocal Promise = require(\"kintastic/lib/Promise\")\r\nlocal TableUtils = require(\"kintastic/lib/TableUtils\")\r\nlocal BaseTtsObject = require(\"kintastic/lib/TtsObject\")\r\n\r\n-- Forward declarations for privates found at the bottom.\r\nlocal wait_for_instant_transform\r\nlocal wait_for_smooth_transform\r\nlocal wrap_instant_transform\r\nlocal wrap_smooth_transform\r\n\r\n-- The module.\r\nlocal TtsObject = { }\r\n\r\n-- Inherit functions from base TtsZoneUtils.\r\nsetmetatable(TtsObject, {\r\n __index = BaseTtsObject,\r\n})\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n-- Thin, promise-returning wrappers.\r\n--\r\n-- Unless otherwise stated, each function returns\r\n-- a promise which will be fulfilled with `obj`\r\n-- or rejected with an error message.\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.setTransform\r\n-- Public function TtsObject.setTransformSmooth\r\n-- Public function TtsObject.setPosition\r\n-- Public function TtsObject.setPositionSmooth\r\n-- Public function TtsObject.translate\r\n-- Public function TtsObject.setRotation\r\n-- Public function TtsObject.setRotationSmooth\r\n-- Public function TtsObject.rotate\r\n-- Public function TtsObject.setScale\r\n-- Public function TtsObject.scale\r\n-- Public function TtsObject.moveAtop\r\n-- Public function TtsObject.moveAtopSmooth\r\n-- Public function TtsObject.moveToZoneTop WARNING: DEPRECATED/OBSLETE.\r\n-- Public function TtsObject.moveToZoneTopSmooth WARNING: DEPRECATED/OBSLETE.\r\n\r\nTtsObject.setTransform = |obj, ...|wrap_instant_transform( obj, BaseTtsObject.setTransform, obj, ... )\r\nTtsObject.setTransformSmooth = |obj, ...|wrap_smooth_transform( obj, BaseTtsObject.setTransformSmooth, obj, ... )\r\nTtsObject.setPosition = |obj, ...|wrap_instant_transform( obj, obj.setPosition, ... )\r\nTtsObject.setPositionSmooth = |obj, ...|wrap_smooth_transform( obj, obj.setPositionSmooth, ... )\r\nTtsObject.translate = |obj, ...|wrap_smooth_transform( obj, obj.translate, ... )\r\nTtsObject.setRotation = |obj, ...|wrap_instant_transform( obj, obj.setRotation, ... )\r\nTtsObject.setRotationSmooth = |obj, ...|wrap_smooth_transform( obj, obj.setRotationSmooth, ... )\r\nTtsObject.rotate = |obj, ...|wrap_smooth_transform( obj, obj.rotate, ... )\r\nTtsObject.setScale = |obj, ...|wrap_instant_transform( obj, obj.setScale, ... )\r\nTtsObject.scale = |obj, ...|wrap_instant_transform( obj, obj.scale, ... )\r\nTtsObject.flip = |obj, ...|wrap_smooth_transform( obj, obj.flip, ... )\r\nTtsObject.moveAtop = |obj, ...|wrap_instant_transform( obj, BaseTtsObject.moveAtop, obj, ... )\r\nTtsObject.moveAtopSmooth = |obj, ...|wrap_smooth_transform( obj, BaseTtsObject.moveAtopSmooth, obj, ... )\r\nTtsObject.moveToZoneTop = |obj, ...|wrap_instant_transform( obj, BaseTtsObject.moveAtop, obj, ... )\r\nTtsObject.moveToZoneTopSmooth = |obj, ...|wrap_smooth_transform( obj, BaseTtsObject.moveAtopSmooth, obj, ... )\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.takeObject\r\n--\r\n-- This is a thin wrapper around `obj.takeObject` that returns a promise that\r\n-- becomes fulfilled with the spawned object once the object has been created.\r\n--\r\n-- The promise is rejected with reason Errors.EEMPTY if `obj.takeObject` is empty.\r\n-- Note that empty infinite bags results in an exception.\r\n-- The promise is rejected with reason Errors.ENOTCONTAINER if `obj.takeObject` returns `nil`.\r\n--\r\n-- If an `immediate_callback` argument is provided, it will be called as soon\r\n-- as `spawnObjectJSON` returns, with the object as a parameter. It's return\r\n-- value is ignored.\r\n--\r\n-- If a `callback_function` argument is provided, it will be called once the\r\n-- object is spawned, and the promise returned by `TtsObject.takeObject`\r\n-- will adopt the value returned by the callback function.\r\n--\r\n-- WARNING: The `return_obj` argument is DEPERECATED/OBSOLETE.\r\n\r\nfunction TtsObject.takeObject(obj, args)\r\n local spawned_obj\r\n local promise = Promise:new(\r\n function(resolve, reject)\r\n args = args and TableUtils.copy(args) or { }\r\n\r\n if args.callback_function then\r\n local orig_cb = args.callback_function\r\n args.callback_function = function(spawned_obj)\r\n resolve(orig_cb(spawned_obj))\r\n end\r\n else\r\n args.callback_function = resolve\r\n end\r\n\r\n -- Empty containers result in an error rather than a return of nil.\r\n -- Let's try to provide a better result.\r\n if TtsObject.is_container(obj) and TtsObject.getQuantity(obj) == 0 then\r\n reject(Errors.EEMPTY)\r\n return\r\n end\r\n\r\n spawned_obj = obj.takeObject(args)\r\n if not spawned_obj then\r\n reject(Errors.ENOTCONTAINER)\r\n end\r\n end\r\n )\r\n\r\n if args.immediate_callback then\r\n local success, rv = pcall(args.immediate_callback, spawned_obj)\r\n if not success then\r\n TtsMsgUtils.broadcast_error(rv)\r\n end\r\n end\r\n\r\n if args.return_obj then\r\n return promise, spawned_obj\r\n else\r\n return promise\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.setState\r\n--\r\n-- This is a thin wrapper around `obj.setState` that returns a promise that\r\n-- becomes fulfilled once the object has changed state.\r\n--\r\n-- If the `return_obj` argument is provided and true, the new object will\r\n-- be returned as a second value.\r\n\r\nfunction TtsObject.setState(obj, state_id, return_obj)\r\n local new_obj\r\n local promise = Promise:new(\r\n function(resolve, reject)\r\n new_obj = obj.setState(state_id)\r\n wait_for_instant_transform(new_obj, resolve, reject)\r\n end\r\n )\r\n\r\n if return_obj then\r\n return promise, new_obj\r\n else\r\n return promise\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n\r\nfunction TtsObject.addForce() error(\"addForce isn't currently supported\") end\r\nfunction TtsObject.addTorque() error(\"addTorque isn't currently supported\") end\r\nfunction TtsObject.setVelocity() error(\"setVelocity isn't currently supported\") end\r\nfunction TtsObject.setAngularVelocity() error(\"setAngularVelocity isn't currently supported\") end\r\n\r\n\r\n-- ================================================================================\r\n-- Private helpers\r\n\r\n-- ----------------------------------------\r\n-- Private function wait_for_instant_transform\r\n--\r\n-- They're not quite instantaneous.\r\n\r\nfunction wait_for_instant_transform(obj, resolve, reject)\r\n Wait.frames(\r\n function()\r\n if obj == nil then\r\n reject(Errors.EDESTROYED)\r\n else\r\n resolve(obj)\r\n end\r\n end,\r\n 1\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private function wait_for_smooth_transform\r\n\r\nfunction wait_for_smooth_transform(obj, resolve, reject)\r\n Wait.condition(\r\n function()\r\n if obj == nil then\r\n reject(Errors.EDESTROYED)\r\n else\r\n resolve(obj)\r\n end\r\n end,\r\n function()\r\n return obj == nil or not obj.isSmoothMoving()\r\n end,\r\n 3,\r\n function()\r\n reject(Errors.ETIMEOUT)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private function wrap_instant_transform\r\n\r\nfunction wrap_instant_transform(obj, f, ...)\r\n local args = { ... }\r\n return Promise:new(\r\n function(resolve, reject)\r\n f(unpack(args))\r\n wait_for_instant_transform(obj, resolve, reject)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Private function wrap_smooth_transform\r\n\r\nfunction wrap_smooth_transform(obj, f, ...)\r\n local args = { ... }\r\n return Promise:new(\r\n function(resolve, reject)\r\n f(unpack(args))\r\n wait_for_smooth_transform(obj, resolve, reject)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsObject\r\n\nend)\n__bundle_register(\"kintastic/lib/TtsObject\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Extensions for TTS's Objects.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal ArrayUtils = require(\"kintastic/lib/ArrayUtils\")\r\n\r\n-- Imports.\r\nlocal make_set = ArrayUtils.make_set\r\n\r\n-- The module.\r\nlocal TtsObject = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Private constants\r\n\r\nlocal EMPTY_TABLE = { }\r\n\r\nlocal FINITE_CONTAINERS = { -- .name\r\n \"Bag\",\r\n \"CheckerStack\",\r\n \"ChipStack\",\r\n \"Custom_Model_Bag\",\r\n \"Custom_Model_Stack\",\r\n \"Custom_Token_Stack\",\r\n \"Deck\",\r\n \"DeckCustom\",\r\n}\r\n\r\nlocal INFINITE_CONTAINERS = { -- .name\r\n \"Custom_Model_Infinite_Bag\",\r\n \"go_game_bowl_black\",\r\n \"go_game_bowl_white\",\r\n \"Infinite_Bag\",\r\n}\r\n\r\nlocal ZONES = { -- .name\r\n \"FogOfWar\",\r\n \"FogOfWarTrigger\",\r\n \"RandomizeTrigger\",\r\n \"ScriptingTrigger\",\r\n -- No objects for hand zone.\r\n}\r\n\r\nlocal IS_INFINITE_CONTAINER_LOOKUP = make_set(INFINITE_CONTAINERS)\r\nlocal IS_FINITE_CONTAINER_LOOKUP = make_set(FINITE_CONTAINERS)\r\nlocal IS_ZONE_LOOKUP = make_set(ZONES)\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.getQuantity\r\n--\r\n-- `obj.getQuantity()` doesn't return the correct amount for\r\n-- containers that were reduced to one object since the last frame.\r\n--\r\n-- Returns `-1` for infinite containers. At this time,\r\n-- this is the case even if the infinite container contains\r\n-- nothing. This may return `0` in the future.\r\n--\r\n-- Returns `nil` for non-containers.\r\n\r\nfunction TtsObject.getQuantity(obj)\r\n local obj_type = obj.name\r\n if IS_INFINITE_CONTAINER_LOOKUP[obj_type] then\r\n return -1\r\n elseif IS_FINITE_CONTAINER_LOOKUP[obj_type] then\r\n local quantity = obj.getQuantity()\r\n return quantity > 0 and quantity or ( obj.remainder and 1 or 0 )\r\n else\r\n return nil\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.getBounds\r\n--\r\n-- The results are based on the object's current orientation.\r\n--\r\n-- `obj.getBounds()` doesn't return the\r\n-- correct size for zones, but this does.\r\n\r\nfunction TtsObject.getBounds(obj)\r\n local bounds = obj.getBounds()\r\n\r\n if TtsObject.is_zone(obj) then\r\n local rotation = obj.getRotation()\r\n local size =\r\n obj.getScale()\r\n :rotateOver('z', rotation.z)\r\n :rotateOver('x', rotation.x)\r\n :rotateOver('y', rotation.y)\r\n\r\n bounds.size = Vector(\r\n math.abs(size.x),\r\n math.abs(size.y),\r\n math.abs(size.z)\r\n )\r\n end\r\n\r\n return bounds\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.getBoundsNormalized\r\n--\r\n-- The result is based on the unrotated object.\r\n--\r\n-- `obj.getBoundsNormalized()` doesn't return the\r\n-- correct size for zones, but this does.\r\n\r\n\r\nfunction TtsObject.getBoundsNormalized(obj)\r\n local bounds = obj.getBounds()\r\n\r\n if TtsObject.is_zone(obj) then\r\n bounds.size = obj.getScale()\r\n end\r\n\r\n return bounds\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.getSize\r\n--\r\n-- The result is based on the object's current orientation.\r\n--\r\n-- `obj.getBounds().size` doesn't return the\r\n-- correct value for zones, but this does.\r\n\r\nfunction TtsObject.getSize(obj)\r\n if TtsObject.is_zone(obj) then\r\n local rotation = obj.getRotation()\r\n local size =\r\n obj.getScale()\r\n :rotateOver('z', rotation.z)\r\n :rotateOver('x', rotation.x)\r\n :rotateOver('y', rotation.y)\r\n\r\n return Vector(\r\n math.abs(size.x),\r\n math.abs(size.y),\r\n math.abs(size.z)\r\n )\r\n else\r\n return obj.getBounds().size\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.getSizeNormalized\r\n--\r\n-- The result is based on the unrotated object.\r\n--\r\n-- `obj.getBoundsNormalized().size` doesn't return\r\n-- the correct value for zones, but this does.\r\n\r\n\r\nfunction TtsObject.getSize(obj)\r\n if TtsObject.is_zone(obj) then\r\n return obj.getScale()\r\n else\r\n return obj.getBoundsNormalized().size\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.get_abs_width()\r\n-- Public function TtsObject.get_abs_height()\r\n-- Public function TtsObject.get_abs_depth()\r\n--\r\n-- These refer to the dimensions of the object\r\n-- along the x, y and z axes respectively.\r\n--\r\n-- The results are based on the object's current orientation.\r\n\r\nfunction TtsObject.get_abs_width(obj) return TtsObject.getSize(obj).x end\r\nfunction TtsObject.get_abs_height(obj) return TtsObject.getSize(obj).y end\r\nfunction TtsObject.get_abs_depth(obj) return TtsObject.getSize(obj).z end\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.get_top_pos\r\n--\r\n-- Returns the position which consists\r\n-- - the center x of the object's bounding box,\r\n-- - the center z of the object's bounding box, and\r\n-- - the highest y of the object's bounding box.\r\n--\r\n-- The result is based on the object's current orientation.\r\n\r\nfunction TtsObject.get_top_pos(obj)\r\n local bounds = TtsObject.getBounds(obj)\r\n local v = bounds.center\r\n v.y = v.y + bounds.size.y / 2\r\n return v\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.get_bot_pos\r\n--\r\n-- Returns the position which consists\r\n-- - the center x of the object's bounding box,\r\n-- - the center z of the object's bounding box, and\r\n-- - the lowest y of the object's bounding box.\r\n--\r\n-- The result is based on the object's current orientation.\r\n\r\nfunction TtsObject.get_bot_pos(obj)\r\n local bounds = TtsObject.getBounds(obj)\r\n local v = bounds.center\r\n v.y = v.y - bounds.size.y / 2\r\n return v\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.get_height_to_origin\r\n--\r\n-- Returns the difference between the object's origin and the lowest y of the object's box.\r\n--\r\n-- The result is based on the object's current orientation.\r\n\r\nfunction TtsObject.get_height_to_origin(obj)\r\n local bounds = TtsObject.getBounds(obj)\r\n return bounds.size.y / 2 + bounds.offset.y\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.get_drop_pos\r\n--\r\n-- Returns the position to which to move the object so it sits just above the container.\r\n-- The result is based on the current orientation of both the object and the container.\r\n--\r\n-- Options:\r\n-- protrusion: What portion of the object should be atop the container. (Default = 1)\r\n-- offset: A vector-like added to the result. (Default = {0,0,0})\r\n\r\nfunction TtsObject.get_drop_pos(obj, container, opts)\r\n opts = opts or EMPTY_TABLE\r\n\r\n local protrusion = opts.protrusion or 1\r\n local offset = opts.offset\r\n\r\n local pos = TtsObject.get_top_pos(container)\r\n local bounds = TtsObject.getBounds(obj)\r\n pos.y = pos.y + bounds.offset.y + bounds.size.y * ( protrusion - 0.5 )\r\n\r\n if offset then\r\n pos = pos + Vector(offset)\r\n end\r\n\r\n return pos\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.setTransform\r\n--\r\n-- Wraps setPosition, setRotation and setScale,\r\n-- allowing any combination to be performed at once.\r\n\r\nfunction TtsObject.setTransform(obj, args)\r\n args = args or EMPTY_TABLE\r\n\r\n local result = true\r\n if args.position then result = obj.setPosition( args.position ) and result end\r\n if args.rotation then result = obj.setRotation( args.rotation ) and result end\r\n if args.scale then result = obj.setScale( args.scale ) and result end\r\n return result\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.setTransformSmooth\r\n--\r\n-- Wraps setPositionSmooth and setRotationSmooth,\r\n-- allowing any combination to be performed at once.\r\n\r\nfunction TtsObject.setTransformSmooth(obj, args)\r\n args = args or EMPTY_TABLE\r\n\r\n local result = true\r\n if args.position then result = obj.setPositionSmooth( args.position, args.collide, args.fast ) and result end\r\n if args.rotation then result = obj.setRotationSmooth( args.rotation, args.collide, args.fast ) and result end\r\n return result\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.moveAtop\r\n--\r\n-- Moves an object so it sits atop another object.\r\n-- Uses instant movement.\r\n--\r\n-- Options:\r\n-- rotation: `false` to keep its current rotation (default),\r\n-- `true` to give the moved object the same rotation as the reference object, or\r\n-- a vector-like to give the object this rotation.\r\n-- protrusion: What portion of the object being moved should be atop the other. (Default = 1)\r\n-- offset: A vector-like used to modify the destination position. (Default = {0,0,0})\r\n\r\nfunction TtsObject.moveAtop(obj, ref_obj, opts)\r\n opts = opts or EMPTY_TABLE\r\n\r\n local result = true\r\n\r\n if opts.rotation then\r\n local rot = opts.rotation == true and ref_obj.getRotation() or opts.rotation\r\n result = obj.setRotation(rot) and result\r\n end\r\n\r\n local pos = TtsObject.get_drop_pos(obj, ref_obj, opts)\r\n result = obj.setPosition(pos) and result\r\n\r\n return result\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.moveAtopSmooth\r\n--\r\n-- Moves an object so it sits above the center point of a zone.\r\n-- Uses smooth movement.\r\n--\r\n-- Options:\r\n-- rotation: `false` to keep its current rotation (default),\r\n-- `true` to give the moved object the same rotation as the reference object, or\r\n-- a vector-like to give the object this rotation.\r\n-- protrusion: What portion of the object being moved should be atop the other. (Default = 1)\r\n-- offset: A vector-like used to modify the destination position. (Default = {0,0,0})\r\n-- collide: As the obj.setPositionSmooth/obj.setRotationSmooth argument.\r\n-- fast: As the obj.setPositionSmooth/obj.setRotationSmooth argument.\r\n\r\nfunction TtsObject.moveAtopSmooth(obj, ref_obj, opts)\r\n opts = opts or EMPTY_TABLE\r\n\r\n local result = true\r\n\r\n if opts.rotation then\r\n local old_rot = obj.getRotation()\r\n local new_rot = opts.rotation == true and ref_obj.getRotation() or opts.rotation\r\n result = obj.setRotation(new_rot) or result\r\n local pos = TtsObject.get_drop_pos(obj, ref_obj, opts)\r\n result = obj.setRotation(old_rot) or result\r\n\r\n result = obj.setPositionSmooth(pos, opts.collide, opts.fast) and result\r\n result = obj.setRotationSmooth(new_rot, opts.collide, opts.fast) and result\r\n else\r\n local pos = TtsObject.get_drop_pos(obj, ref_obj, opts)\r\n result = obj.setPositionSmooth(pos, opts.collide, opts.fast) and result\r\n end\r\n\r\n return result\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.moveToZoneTop\r\n-- Public function TtsObject.moveToZoneTopSmooth\r\n--\r\n-- WARNING: DEPRECATED/OBSLETE.\r\n\r\nTtsObject.moveToZoneTop = TtsObject.moveAtop\r\nTtsObject.moveToZoneTopSmooth = TtsObject.moveAtopSmooth\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.is_container\r\n-- Public function TtsObject.is_finite_container\r\n-- Public function TtsObject.is_infinite_container\r\n\r\nfunction TtsObject.is_container(obj)\r\n local name = obj.name\r\n return IS_FINITE_CONTAINER_LOOKUP[name] or IS_INFINITE_CONTAINER_LOOKUP[name]\r\nend\r\n\r\nfunction TtsObject.is_finite_container(obj)\r\n return IS_FINITE_CONTAINER_LOOKUP[ obj.name ]\r\nend\r\n\r\nfunction TtsObject.is_infinite_container(obj)\r\n return IS_INFINITE_CONTAINER_LOOKUP[ obj.name ]\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.is_stackable\r\n\r\nfunction TtsObject.is_stackable(obj)\r\n local custom_obj = obj.getCustomObject()\r\n return custom_obj and custom_obj.stackable or false\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.is_stack\r\n--\r\n-- We can't just use `obj.getQuantity()` because it\r\n-- can return a positive value for containers.\r\n\r\nfunction TtsObject.is_stack(obj)\r\n return TtsObject.is_stackable(obj) and obj.getQuantity() > 1\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObject.is_zone\r\n\r\nfunction TtsObject.is_zone(obj)\r\n return IS_ZONE_LOOKUP[ obj.name ]\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsObject\r\n\nend)\n__bundle_register(\"kintastic/lib/Promise/TtsWait\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Promise-based version of Wait methods.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Promise = require(\"kintastic/lib/Promise\")\r\n\r\n-- The module.\r\nlocal TtsWait = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.condition\r\n--\r\n-- WARNING: DEPRECATED/OBSLETE.\r\n\r\nfunction TtsWait.condition(cond_func, timeout, timeout_reason)\r\n return TtsWait.cond(cond_func, nil, timeout, timeout_reason)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.condition\r\n--\r\n-- WARNING: Returns two values.\r\n-- WARNING: DEPRECATED/OBSLETE.\r\n\r\nfunction TtsWait.condition_with_cancel(cond_func, timeout, timeout_reason)\r\n return TtsWait.cond_with_cancel(cond_func, nil, timeout, timeout_reason)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.cond\r\n--\r\n-- Returns a promises that's fulfilled once the condition becomes true.\r\n-- It will be fulfilled with `value` (if provided).\r\n-- If `timeout` is provided, the promise becomes rejected with \"Timeout\" once the timeout occurs.\r\n-- If `timeout_reason` is provided, it will be used as the rejection reason instead of \"Timeout\".\r\n\r\nfunction TtsWait.cond(cond_func, value, timeout, timeout_reason)\r\n return Promise:new(\r\n function(resolve, reject)\r\n local done = false\r\n local resolve = function() done = true resolve(value) end\r\n local reject = function(reason) done = true reject(reason) end\r\n\r\n if timeout == nil then\r\n Wait.condition(resolve, cond_func)\r\n else\r\n Wait.condition(resolve, cond_func, timeout, ||reject(timeout_reason or \"Timeout\"))\r\n end\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.cond_with_cancel\r\n--\r\n-- This function is identical to `TtsWait.condition` except a second value is returned.\r\n-- It consists of a function which can be used to cancel the wait.\r\n-- Calling this function will result in the promise becoming rejected.\r\n-- The rejection reason will be the value passed to the function, or \"Cancelled\" if none was provided.\r\n--\r\n-- WARNING: Returns two values.\r\n\r\nfunction TtsWait.cond_with_cancel(cond_func, value, timeout, timeout_reason)\r\n local canceller\r\n local promise = Promise:new(\r\n function(resolve, reject)\r\n local done = false\r\n local resolve = function() done = true resolve(value) end\r\n local reject = function(reason) done = true reject(reason) end\r\n\r\n local id\r\n if timeout == nil then\r\n id = Wait.condition(resolve, cond_func)\r\n else\r\n id = Wait.condition(resolve, cond_func, timeout, ||reject(timeout_reason or \"Timeout\"))\r\n end\r\n\r\n canceller = function(cancel_reason)\r\n if not done then\r\n Wait.stop(id)\r\n reject(cancel_reason or \"Cancelled\")\r\n end\r\n end\r\n end\r\n )\r\n\r\n return promise, canceller\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.frames\r\n--\r\n-- Returns a promises that's fulfilled after `frame_count` frames.\r\n-- It will be fulfilled with `value` (if provided).\r\n\r\nfunction TtsWait.frames(frame_count, value)\r\n return Promise:new(\r\n function(resolve, reject)\r\n Wait.frames(||resolve(value), frame_count)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.frame\r\n--\r\n-- Like `TtsWait.frames`, but only wait one frame.\r\n\r\nfunction TtsWait.frame(value)\r\n return Promise:new(\r\n function(resolve, reject)\r\n Wait.frames(||resolve(value), 1)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.frames_with_cancel\r\n--\r\n-- This function is identical to TtsWait.frames except a second value is returned.\r\n-- It consists of a function which can be used to cancel the wait.\r\n-- Calling this function will result in the promise becoming rejected.\r\n-- The rejection reason will be the value passed to the function, or \"Cancelled\" if none was provided.\r\n--\r\n-- WARNING: Returns two values.\r\n\r\nfunction TtsWait.frames_with_cancel(frame_count, value)\r\n local canceller\r\n local promise = Promise:new(\r\n function(resolve, reject)\r\n local id = Wait.frames(||resolve(value), frame_count)\r\n\r\n canceller = function(cancel_reason)\r\n if not done then\r\n Wait.stop(id)\r\n reject(cancel_reason or \"Cancelled\")\r\n end\r\n end\r\n end\r\n )\r\n\r\n return promise, canceller\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.time\r\n--\r\n-- Returns a promises that's fulfilled after `secs` (possibly-fractional) seconds.\r\n-- It will be fulfilled with `value` (if provided).\r\n\r\nfunction TtsWait.time(secs, value)\r\n return Promise:new(\r\n function(resolve, reject)\r\n Wait.time(||resolve(value), secs)\r\n end\r\n )\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsWait.time_with_cancel\r\n--\r\n-- This function is identical to TtsWait.time except a second value is returned.\r\n-- It consists of a function which can be used to cancel the wait.\r\n-- Calling this function will result in the promise becoming rejected.\r\n-- The rejection reason will be the value passed to the function, or \"Cancelled\" if none was provided.\r\n--\r\n-- WARNING: Returns two values.\r\n\r\nfunction TtsWait.time_with_cancel(secs, value)\r\n local canceller\r\n local promise = Promise:new(\r\n function(resolve, reject)\r\n local id = Wait.time(||resolve(value), secs)\r\n\r\n canceller = function(cancel_reason)\r\n if not done then\r\n Wait.stop(id)\r\n reject(cancel_reason or \"Cancelled\")\r\n end\r\n end\r\n end\r\n )\r\n\r\n return promise, canceller\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsWait\r\n\nend)\n__bundle_register(\"kintastic/lib/TtsSaveEvent\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Make is posible to add listeners using `Wrap.add_event_listener` to `onSave`.\r\n-- Listeners must modify `SELF.script_state` directly instead\r\n-- of returning the serialized state to have an effect.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TableLock = require(\"kintastic/lib/TableLock\")\r\nlocal Wrap = require(\"kintastic/lib/Wrap\")\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public global variable SELF\r\n--\r\n-- An alias for global var `self` to avoid conflicts\r\n-- with local vars and parameters named `self`.\r\n\r\nTableLock.declare_and_set(_G, \"SELF\", self)\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public global function onSave\r\n\r\nWrap.define_event(\"onSave\")\r\n\r\nWrap.wrap(_G, \"onSave\",\r\n function(old_f)\r\n old_f()\r\n return Global.script_state\r\n end\r\n)\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn { }\r\n\nend)\n__bundle_register(\"kintastic/lib/TtsObjUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- TTS object utils\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TtsMsgUtils = require(\"kintastic/lib/TtsMsgUtils\")\r\nlocal TtsObject = require(\"kintastic/lib/TtsObject\")\r\n\r\n-- The module.\r\nlocal TtsObjUtils = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Private constants\r\n\r\nlocal EMPTY_TABLE = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObjUtils.resolve_guids\r\n\r\nfunction TtsObjUtils.resolve_guids(tbl, not_required)\r\n not_required = not_required or EMPTY_TABLE\r\n\r\n local function helper(tbl)\r\n local resolved = { }\r\n for k, v in pairs(tbl) do\r\n local v_type = type(v)\r\n if v_type == \"string\" then\r\n local guid = v\r\n local obj = getObjectFromGUID(guid)\r\n if obj == nil and not not_required[guid] then\r\n TtsMsgUtils.broadcast_internal_error(\"Can't resolve guid \" .. guid)\r\n end\r\n resolved[k] = obj\r\n elseif v_type == \"table\" then\r\n resolved[k] = helper(v)\r\n else\r\n TtsMsgUtils.broadcast_internal_error(\"Don't know how to resolve a \" .. v_type)\r\n end\r\n end\r\n\r\n return resolved\r\n end\r\n\r\n return helper(tbl)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsObjUtils.get_abs_width()\r\n-- Public function TtsObjUtils.get_abs_height()\r\n-- Public function TtsObjUtils.get_abs_depth()\r\n-- Public function TtsObjUtils.get_top_pos\r\n-- Public function TtsObjUtils.get_height_to_origin\r\n-- Public function TtsObjUtils.get_drop_pos\r\n-- Public function TtsObjUtils.is_stackable\r\n-- Public function TtsObjUtils.is_stack\r\n--\r\n-- WARNING: DEPRECATED/OBSLETE. Use TtsObject instead.\r\n\r\nTtsObjUtils.get_abs_width = TtsObject.get_abs_width\r\nTtsObjUtils.get_abs_height = TtsObject.get_abs_height\r\nTtsObjUtils.get_abs_depth = TtsObject.get_abs_depth\r\nTtsObjUtils.get_top_pos = TtsObject.get_top_pos\r\nTtsObjUtils.get_height_to_origin = TtsObject.get_height_to_origin\r\nTtsObjUtils.get_drop_pos = |container, obj|TtsObject.get_drop_pos(obj, container)\r\nTtsObjUtils.is_stackable = TtsObject.is_stackable\r\nTtsObjUtils.is_stack = TtsObject.is_stack\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsObjUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/Promise/TtsBase\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Promise-based version of base methods.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Promise = require(\"kintastic/lib/Promise\")\r\nlocal TableUtils = require(\"kintastic/lib/TableUtils\")\r\nlocal TtsMsgUtils = require(\"kintastic/lib/TtsMsgUtils\")\r\n\r\n-- Forward declarations for privates found at the bottom.\r\nlocal spawner\r\n\r\n-- The module.\r\nlocal TtsBase = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsBase.spawnObject\r\n--\r\n-- This is a thin wrapper around `spawnObject` that returns a promise that\r\n-- becomes fulfilled with the spawned object once the object has been created.\r\n--\r\n-- If an `immediate_callback` argument is provided, it will be called as soon\r\n-- as `spawnObject` returns, with the object as a parameter. It's return\r\n-- value is ignored.\r\n--\r\n-- If a `callback_function` argument is provided, it will be called once the\r\n-- object is spawned, and the promise returned by `TtsBase.spawnObject`\r\n-- will adopt the value returned by the callback function.\r\n\r\nlocal wrapped_spawn_object = spawnObject\r\n\r\nfunction TtsBase.spawnObject(args)\r\n return spawner(wrapped_spawn_object, args)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsBase.spawnObjectData\r\n--\r\n-- This is a thin wrapper around `spawnObjectData` that returns a promise that\r\n-- becomes fulfilled with the spawned object once the object has been created.\r\n--\r\n-- If an `immediate_callback` argument is provided, it will be called as soon\r\n-- as `spawnObjectData` returns, with the object as a parameter. It's return\r\n-- value is ignored.\r\n--\r\n-- If a `callback_function` argument is provided, it will be called once the\r\n-- object is spawned, and the promise returned by `TtsBase.spawnObjectData`\r\n-- will adopt the value returned by the callback function.\r\n--\r\n-- WARNING: The `return_obj` argument is DEPERECATED/OBSOLETE.\r\n\r\nlocal wrapped_spawn_object_data = spawnObjectData\r\n\r\nfunction TtsBase.spawnObjectData(args)\r\n return spawner(wrapped_spawn_object_data, args)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function TtsBase.spawnObjectJSON\r\n--\r\n-- This is a thin wrapper around `spawnObjectJSON` that returns a promise that\r\n-- becomes fulfilled with the spawned object once the object has been created.\r\n--\r\n-- If an `immediate_callback` argument is provided, it will be called as soon\r\n-- as `spawnObjectJSON` returns, with the object as a parameter. It's return\r\n-- value is ignored.\r\n--\r\n-- If a `callback_function` argument is provided, it will be called once the\r\n-- object is spawned, and the promise returned by `TtsBase.spawnObjectJSON`\r\n-- will adopt the value returned by the callback function.\r\n--\r\n-- WARNING: The `return_obj` argument is DEPERECATED/OBSOLETE.\r\n\r\nlocal wrapped_spawn_object_json = spawnObjectJSON\r\n\r\nfunction TtsBase.spawnObjectJSON(args)\r\n return spawner(wrapped_spawn_object_json, args)\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\n-- ----------------------------------------\r\n-- Private function spawner\r\n\r\nfunction spawner(wrapped_function, args)\r\n local spawned_obj\r\n local promise = Promise:new(\r\n function(resolve, reject)\r\n args = args and TableUtils.copy(args) or { }\r\n\r\n if args.callback_function then\r\n local orig_cb = args.callback_function\r\n args.callback_function = function(obj)\r\n resolve(orig_cb(obj))\r\n end\r\n else\r\n args.callback_function = resolve\r\n end\r\n\r\n spawned_obj = wrapped_function(args)\r\n end\r\n )\r\n\r\n if args.immediate_callback then\r\n local success, rv = pcall(args.immediate_callback, spawned_obj)\r\n if not success then\r\n TtsMsgUtils.broadcast_error(rv)\r\n end\r\n end\r\n\r\n if args.return_obj then\r\n return promise, spawned_obj\r\n else\r\n return promise\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn TtsBase\r\n\nend)\n__bundle_register(\"kintastic/lib/StrUtils\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- String utils\r\n-- ================================================================================\r\n\r\n-- The module.\r\nlocal StrUtils = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function StrUtils.starts_with\r\n\r\nfunction StrUtils.starts_with(str, substr)\r\n return substr == \"\" or str:sub(1, #substr) == substr\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function StrUtils.ends_with\r\n\r\nfunction StrUtils.ends_with(str, substr)\r\n return substr == \"\" or str:sub(-#substr) == substr\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function StrUtils.split\r\n\r\nfunction StrUtils.split(str, pattern, plain, discard)\r\n local len = string.len(str)\r\n if len == 0 then\r\n return { }\r\n end\r\n\r\n local rv = { }\r\n\r\n local i = 1\r\n while i <= len do\r\n local j, k = string.find(str, pattern, i, plain)\r\n if not j then\r\n break\r\n end\r\n\r\n if k < j then\r\n j = j + 1\r\n k = k + 1\r\n end\r\n\r\n table.insert(rv, string.sub(str, i, j-1))\r\n i = k + 1\r\n end\r\n\r\n table.insert(rv, string.sub(str, i))\r\n\r\n if discard then\r\n while #rv > 0 and rv[#rv] == \"\" do\r\n table.remove(rv)\r\n end\r\n end\r\n\r\n return rv\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn StrUtils\r\n\nend)\n__bundle_register(\"kintastic/lib/Debouncer\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Tool to avoid accidental double-clicks.\r\n--\r\n-- Usage:\r\n-- Debouncer.debounce(\r\n-- \"on_click_advance_game\",\r\n-- function(name)\r\n-- UI.setAttribute(\"advance_game_button\", \"onClick\", name)\r\n-- end,\r\n-- function(debouncer, button_used, player, mouse_button, button_id)\r\n-- -- Check permissions, if it's ok to press button now, etc\r\n-- if ... then\r\n-- return\r\n-- end\r\n--\r\n-- button_used()\r\n--\r\n-- advance_game()\r\n-- end\r\n-- )\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TableLock = require(\"kintastic/lib/TableLock\")\r\n\r\n-- Imports.\r\nlocal declare_and_set = TableLock.declare_and_set\r\n\r\n-- The class.\r\nlocal Debouncer = { }\r\n\r\nDebouncer.mt = {\r\n __index = Debouncer,\r\n}\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\n-- ----------------------------------------\r\n-- Private function on_click_dummy\r\n\r\nlocal function on_click_dummy()\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function debounce\r\n\r\nfunction Debouncer.debounce(name, setter, handler, opts)\r\n local self = Debouncer:new(name, setter, handler, opts)\r\n self:install()\r\n return self\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public constructor Debouncer:new\r\n--\r\n-- - name: The base name of the button click handler to create.\r\n-- - setter: A function that updates the Lua or XML buttons.\r\n-- - handler: When the button is clicked, this function will be\r\n-- called with the same arguments as provided as the\r\n-- button click handler would normally receive plus\r\n-- one leading argument. This leading argument must\r\n-- be called as a function on a successful click.\r\n-- - opts: Optional table of options:\r\n-- - cool_down: A period of time in which for which the button\r\n-- will be ignored after it has been clicked.\r\n-- - on_disable: Called when the button becomes disabled\r\n-- (manually or when a cool-down period begins).\r\n-- - on_enable: Called when the button becomes enabled\r\n-- (manually or when a cool-down period begins).\r\n\r\nfunction Debouncer.new(class, name, setter, handler, opts)\r\n local self = setmetatable({}, class.mt)\r\n\r\n self.name = name\r\n self.setter = setter\r\n self.handler = handler\r\n self.opts = opts or { }\r\n self.counter = 0\r\n self.manually_disabled = false\r\n self.in_cool_down = false\r\n self.wrapped_handler = nil\r\n\r\n return self\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method debouncer:install\r\n\r\nfunction Debouncer:install()\r\n local expired = false\r\n\r\n local function button_used()\r\n expired = true\r\n self:install()\r\n end\r\n\r\n local function wrapped_handler(...)\r\n if expired or self:_is_disabled() then\r\n return\r\n end\r\n\r\n return self:handler(button_used, ...)\r\n end\r\n\r\n if self.opts.cool_down and self.counter > 0 then\r\n self:_disable(\"in_cool_down\")\r\n\r\n Wait.time(\r\n function()\r\n self:_enable(\"in_cool_down\")\r\n end,\r\n self.opts.cool_down\r\n )\r\n end\r\n\r\n self.wrapped_handler = wrapped_handler\r\n\r\n local old_handler_name = \"on_click_advance_game_\" .. self.counter\r\n self.counter = self.counter + 1\r\n local new_handler_name = \"on_click_advance_game_\" .. self.counter\r\n\r\n declare_and_set(_G, new_handler_name, wrapped_handler)\r\n self.setter(new_handler_name)\r\n\r\n if self.counter > 1 then\r\n _G[old_handler_name] = on_click_dummy\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method debouncer:call\r\n--\r\n-- WARNING: Calling this defies some of the protection offered by this module.\r\n\r\nfunction Debouncer:call(...)\r\n self.wrapped_handler(...)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance method debouncer:enable\r\n-- Public instance method debouncer:disable\r\n--\r\n-- Manually enable or disable the button.\r\n\r\nfunction Debouncer:disable()\r\n self:_disable(\"manually_disabled\")\r\nend\r\n\r\nfunction Debouncer:enable()\r\n self:_enable(\"manually_disabled\")\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public instance accessors\r\n\r\nfunction Debouncer:get_opt_cool_down()\r\n return self.opts.cool_down\r\nend\r\n\r\nfunction Debouncer:set_opt_cool_down(val)\r\n self.opts.cool_down = val\r\nend\r\n\r\n\r\n-- ================================================================================\r\n-- Privates\r\n\r\nfunction Debouncer:_is_disabled()\r\n return self.manually_disabled or self.in_cool_down\r\nend\r\n\r\n\r\nfunction Debouncer:_disable(attr)\r\n local was_disabled = self:_is_disabled()\r\n self[attr] = true\r\n if not was_disabled and self.opts.on_disable then\r\n self.opts.on_disable(self)\r\n end\r\nend\r\n\r\n\r\nfunction Debouncer:_enable(attr)\r\n self[attr] = false\r\n local disabled = self:_is_disabled()\r\n if not disabled and self.opts.on_enable then\r\n self.opts.on_enable(self)\r\n end\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Debouncer\r\n\nend)\n__bundle_register(\"mods/Brass/lib/App/Lancashire\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\n-- Brass: Lancashire\n-- ================================================================================\n\n-- Modules.\nlocal Const = require(\"kintastic/lib/Const\")\nlocal DictUtils = require(\"kintastic/lib/DictUtils\")\nlocal Iters = require(\"kintastic/lib/Iters\")\nlocal Promise = require(\"kintastic/lib/Promise\")\nlocal StrUtils = require(\"kintastic/lib/StrUtils\")\nlocal TableLock = require(\"kintastic/lib/TableLock\")\nlocal TtsMsgUtils = require(\"kintastic/lib/TtsMsgUtils\")\nlocal TtsObject = require(\"kintastic/lib/Promise/TtsObject\")\nlocal TtsObjUtils = require(\"kintastic/lib/TtsObjUtils\")\nlocal TtsWait = require(\"kintastic/lib/Promise/TtsWait\")\nlocal TtsZoneUtils = require(\"kintastic/lib/TtsZoneUtils\")\nlocal App = require(\"mods/Brass/lib/App\")\n\n-- Imports.\nlocal const = Const.const\nlocal rconst = Const.rconst\nlocal pick = DictUtils.pick\nlocal ivalues = Iters.ivalues\nlocal starts_with = StrUtils.starts_with\nlocal lock = TableLock.lock\nlocal rlock = TableLock.rlock\nlocal broadcast_error = TtsMsgUtils.broadcast_error\nlocal get_abs_height = TtsObject.get_abs_height\nlocal get_bot_pos = TtsObject.get_bot_pos\nlocal get_top_pos = TtsObject.get_top_pos\nlocal move_atop_smooth = TtsObject.moveAtopSmooth\nlocal set_position_smooth = TtsObject.setPositionSmooth\nlocal set_transform_smooth = TtsObject.setTransformSmooth\nlocal take_object = TtsObject.takeObject\nlocal resolve_guids = TtsObjUtils.resolve_guids\nlocal wait_condition = TtsWait.cond\nlocal wait_frames = TtsWait.frames\nlocal find_zone = TtsZoneUtils.find_zone\n\n-- The class.\nlocal LancashireApp = { }\n\n-- Inherit functions from App.\nlocal SUPER = App\n\nsetmetatable(LancashireApp, {\n __index = SUPER,\n})\n\nLancashireApp.mt = {\n __index = LancashireApp,\n}\n\n\n-- ================================================================================\n-- Constructor\n\nfunction LancashireApp.new(class, saved_state_json)\n return SUPER.new(class, \"Lancashire\", saved_state_json)\nend\n\n\n-- ================================================================================\n-- Object initialization\n\nfunction LancashireApp:init(saved_state_json)\n self.initial_funds = 30\n self.loan_amount = 10\n self.has_immediate_vps = false\n self.money_value = 10 -- Meaning 1 VP per £10.\n SUPER.init(self, saved_state_json)\nend\n\n\nfunction LancashireApp:init_industry_tile_data()\n -- Don't lock since used as lookup.\n self.industry_tile_data = rconst({\n [ \"Coal Mine I\" ] = lock({ type = \"Coal Mine\", level = 1, count = 1, canal_era = true, rail_era = false, cost_money = 5, cost_coal = 0, cost_iron = 0, points = 1, income = 4, link_points = 1, can_develop = true }),\n [ \"Coal Mine II\" ] = lock({ type = \"Coal Mine\", level = 2, count = 2, canal_era = true, rail_era = true, cost_money = 7, cost_coal = 0, cost_iron = 0, points = 2, income = 7, link_points = 1, can_develop = true }),\n [ \"Coal Mine III\" ] = lock({ type = \"Coal Mine\", level = 3, count = 2, canal_era = true, rail_era = true, cost_money = 8, cost_coal = 0, cost_iron = 1, points = 3, income = 6, link_points = 1, can_develop = true }),\n [ \"Coal Mine IV\" ] = lock({ type = \"Coal Mine\", level = 4, count = 2, canal_era = true, rail_era = true, cost_money = 10, cost_coal = 0, cost_iron = 1, points = 4, income = 5, link_points = 1, can_develop = true }),\n [ \"Cotton Mill I\" ] = lock({ type = \"Cotton Mill\", level = 1, count = 3, canal_era = true, rail_era = false, cost_money = 12, cost_coal = 0, cost_iron = 0, points = 5, income = 5, link_points = 1, can_develop = true }),\n [ \"Cotton Mill II\" ] = lock({ type = \"Cotton Mill\", level = 2, count = 2, canal_era = true, rail_era = true, cost_money = 14, cost_coal = 1, cost_iron = 0, points = 5, income = 4, link_points = 1, can_develop = true }),\n [ \"Cotton Mill III\" ] = lock({ type = \"Cotton Mill\", level = 3, count = 3, canal_era = true, rail_era = true, cost_money = 16, cost_coal = 1, cost_iron = 1, points = 9, income = 3, link_points = 1, can_develop = true }),\n [ \"Cotton Mill IV\" ] = lock({ type = \"Cotton Mill\", level = 4, count = 3, canal_era = true, rail_era = true, cost_money = 18, cost_coal = 1, cost_iron = 1, points = 12, income = 2, link_points = 1, can_develop = true }),\n [ \"Iron Works I\" ] = lock({ type = \"Iron Works\", level = 1, count = 1, canal_era = true, rail_era = false, cost_money = 5, cost_coal = 1, cost_iron = 0, points = 3, income = 3, link_points = 1, can_develop = true }),\n [ \"Iron Works II\" ] = lock({ type = \"Iron Works\", level = 2, count = 1, canal_era = true, rail_era = true, cost_money = 7, cost_coal = 1, cost_iron = 0, points = 5, income = 3, link_points = 1, can_develop = true }),\n [ \"Iron Works III\" ] = lock({ type = \"Iron Works\", level = 3, count = 1, canal_era = true, rail_era = true, cost_money = 9, cost_coal = 1, cost_iron = 0, points = 7, income = 2, link_points = 1, can_develop = true }),\n [ \"Iron Works IV\" ] = lock({ type = \"Iron Works\", level = 4, count = 1, canal_era = true, rail_era = true, cost_money = 12, cost_coal = 1, cost_iron = 0, points = 9, income = 1, link_points = 1, can_develop = true }),\n [ \"Port I\" ] = lock({ type = \"Port\", level = 1, count = 1, canal_era = true, rail_era = false, cost_money = 6, cost_coal = 0, cost_iron = 0, points = 2, income = 3, link_points = 1, can_develop = true }),\n [ \"Port II\" ] = lock({ type = \"Port\", level = 2, count = 1, canal_era = true, rail_era = true, cost_money = 7, cost_coal = 0, cost_iron = 0, points = 4, income = 3, link_points = 1, can_develop = true }),\n [ \"Port III\" ] = lock({ type = \"Port\", level = 3, count = 1, canal_era = true, rail_era = true, cost_money = 8, cost_coal = 0, cost_iron = 0, points = 6, income = 4, link_points = 1, can_develop = true }),\n [ \"Port IV\" ] = lock({ type = \"Port\", level = 4, count = 1, canal_era = true, rail_era = true, cost_money = 9, cost_coal = 0, cost_iron = 0, points = 9, income = 4, link_points = 1, can_develop = true }),\n [ \"Shipyard I\" ] = lock({ type = \"Shipyard\", level = 1, count = 2, canal_era = true, rail_era = false, cost_money = 16, cost_coal = 1, cost_iron = 1, points = 10, income = 2, link_points = 1, can_develop = true }),\n [ \"Shipyard II\" ] = lock({ type = \"Shipyard\", level = 2, count = 2, canal_era = false, rail_era = true, cost_money = 25, cost_coal = 1, cost_iron = 1, points = 18, income = 1, link_points = 1, can_develop = true }),\n })\nend\n\n\nfunction LancashireApp:init_locations_and_links()\n -- Don't lock since used as lookup.\n self.locations = rconst({\n [ \"Barrow-in-Furness\" ] = { \"Barrow-in-Furness (W)\",\n \"Barrow-in-Furness (E)\" },\n [ \"Birkenhead\" ] = { \"Birkenhead\" },\n [ \"Blackburn\" ] = { \"Blackburn (N)\",\n \"Blackburn (W)\",\n \"Blackburn (E)\" },\n [ \"Bolton\" ] = { \"Bolton (NW)\",\n \"Bolton (NE)\",\n \"Bolton (S)\" },\n [ \"Burnley\" ] = { \"Burnley (N)\",\n \"Burnley (S)\" },\n [ \"Bury\" ] = { \"Bury (N)\",\n \"Bury (S)\" },\n [ \"Colne\" ] = { \"Colne (N)\",\n \"Colne (S)\" },\n [ \"Ellesmere Port\" ] = { \"Ellesmere Port\" },\n [ \"Fleetwood\" ] = { \"Fleetwood\" },\n [ \"Lancaster\" ] = { \"Lancaster (W)\",\n \"Lancaster (E)\" },\n [ \"Liverpool\" ] = { \"Liverpool (NW)\",\n \"Liverpool (NE)\",\n \"Liverpool (SW)\",\n \"Liverpool (SE)\" },\n [ \"Macclesfield\" ] = { \"Macclesfield (W)\",\n \"Macclesfield (E)\" },\n [ \"Manchester\" ] = { \"Manchester (NW)\",\n \"Manchester (NE)\",\n \"Manchester (SW)\",\n \"Manchester (SE)\" },\n [ \"Oldham\" ] = { \"Oldham (W)\",\n \"Oldham (E)\" },\n [ \"Preston\" ] = { \"Preston (NW)\",\n \"Preston (NE)\",\n \"Preston (S)\" },\n [ \"Rochdale\" ] = { \"Rochdale (N)\",\n \"Rochdale (SW)\",\n \"Rochdale (SE)\" },\n [ \"Stockport\" ] = { \"Stockport (W)\",\n \"Stockport (E)\" },\n [ \"Warrington & Runcorn\" ] = { \"Warrington & Runcorn (W)\",\n \"Warrington & Runcorn (E)\" },\n [ \"Wigan\" ] = { \"Wigan (N)\",\n \"Wigan (S)\" },\n })\n\n -- Don't lock since used as lookup.\n self.links = rconst({\n [ \"Barrow-in-Furness - Lancaster\" ] = { canal = false, rail = true },\n [ \"Birkenhead - Ellesmere Port\" ] = { canal = false, rail = true },\n [ \"Blackburn - Bolton\" ] = { canal = false, rail = true },\n [ \"Blackburn - Burnley\" ] = { canal = true, rail = true },\n [ \"Blackburn - Preston\" ] = { canal = false, rail = true },\n [ \"Blackburn - Wigan\" ] = { canal = true, rail = true },\n [ \"Blackpool - Preston\" ] = { canal = false, rail = true },\n [ \"Bolton - Bury\" ] = { canal = true, rail = true },\n [ \"Bolton - Manchester\" ] = { canal = true, rail = true },\n [ \"Bolton - Wigan\" ] = { canal = false, rail = true },\n [ \"Burnley - Bury\" ] = { canal = false, rail = true },\n [ \"Burnley - Colne\" ] = { canal = true, rail = true },\n [ \"Bury - Manchester\" ] = { canal = true, rail = true },\n [ \"Bury - Rochdale\" ] = { canal = false, rail = true },\n [ \"Colne - Yorkshire\" ] = { canal = true, rail = true },\n [ \"Ellesmere Port - Liverpool\" ] = { canal = true, rail = false },\n [ \"Ellesmere Port - Northwich\" ] = { canal = true, rail = true },\n [ \"Ellesmere Port - Warrington & Runcorn\" ] = { canal = true, rail = true },\n [ \"Fleetwood - Preston\" ] = { canal = true, rail = true },\n [ \"Lancaster - Preston\" ] = { canal = true, rail = true },\n [ \"Lancaster - Scotland\" ] = { canal = false, rail = true },\n [ \"Liverpool - Southport\" ] = { canal = false, rail = true },\n [ \"Liverpool - Warrington & Runcorn\" ] = { canal = false, rail = true },\n [ \"Liverpool - Wigan\" ] = { canal = true, rail = true },\n [ \"Macclesfield - Stockport\" ] = { canal = true, rail = true },\n [ \"Macclesfield - The Midlands\" ] = { canal = true, rail = true },\n [ \"Manchester - Oldham\" ] = { canal = true, rail = true },\n [ \"Manchester - Stockport\" ] = { canal = true, rail = true },\n [ \"Manchester - Warrington & Runcorn\" ] = { canal = true, rail = true },\n [ \"Northwich - The Midlands\" ] = { canal = true, rail = true },\n [ \"Oldham - Rochdale\" ] = { canal = true, rail = true },\n [ \"Preston - Southport\" ] = { canal = false, rail = true },\n [ \"Preston - Wigan\" ] = { canal = true, rail = true },\n [ \"Rochdale - Yorkshire\" ] = { canal = true, rail = true },\n [ \"Southport - Wigan\" ] = { canal = false, rail = true },\n [ \"Warrington & Runcorn - Wigan\" ] = { canal = true, rail = true },\n })\n\n -- Don't lock since used as lookup.\n self.bonuses_by_external_location = const({\n [ \"Blackpool\" ] = 2,\n [ \"Northwich\" ] = 2,\n [ \"Scotland\" ] = 2,\n [ \"Southport\" ] = 2,\n [ \"The Midlands\" ] = 2,\n [ \"Yorkshire\" ] = 2,\n })\n\n SUPER.init_locations_and_links(self)\nend\n\n\nfunction LancashireApp:init_objects()\n local state = self.state\n local num_players = state:get_num_players()\n\n SUPER.init_objects(self)\n\n local guids = {\n distant_market_marker = \"e7a73c\",\n\n coal_bag = \"e54c1a\",\n iron_bag = \"ac9020\",\n\n -- For 2, 3, and 4 players respectively.\n distant_market_bags = { \"844d10\", \"064067\", \"33a1fd\" },\n\n deck_splitter = \"7e93fe\",\n\n play_deck_zone = \"497481\",\n\n distant_market_deck_zone = \"8c807c\",\n distant_market_discard_zone = \"ac11de\",\n\n -- In the order they are emptied/visited.\n coal_market_zones = { \"3c5ffd\", \"14aada\", \"ec2671\", \"39e20b\", \"56e563\", \"2e35ed\", \"6c1ee9\", \"bb3394\" },\n iron_market_zones = { \"550e2a\", \"581ae8\", \"6581f5\", \"6c2b6d\", \"3bcd07\", \"2734e8\", \"0a7292\", \"2beec8\" },\n distant_market_zones = { \"d02bc1\", \"7921a6\", \"e8e801\", \"9d419f\", \"844a56\", \"045c53\", \"6bca4e\", \"436909\", \"617a3c\" },\n\n -- We call each zone of a location a \"location square\".\n -- Using .getGMNotes() on the location square gets the name of the location.\n location_squares = {\n [ \"Barrow-in-Furness (W)\" ] = \"426a10\",\n [ \"Barrow-in-Furness (E)\" ] = \"cf611f\",\n [ \"Birkenhead\" ] = \"3ccdcc\",\n [ \"Blackburn (N)\" ] = \"6f807f\",\n [ \"Blackburn (W)\" ] = \"38f370\",\n [ \"Blackburn (E)\" ] = \"68b7fb\",\n [ \"Bolton (NW)\" ] = \"087a08\",\n [ \"Bolton (NE)\" ] = \"b699b0\",\n [ \"Bolton (S)\" ] = \"358114\",\n [ \"Burnley (N)\" ] = \"bb78b2\",\n [ \"Burnley (S)\" ] = \"d2d30a\",\n [ \"Bury (N)\" ] = \"4d037f\",\n [ \"Bury (S)\" ] = \"a0a19f\",\n [ \"Colne (N)\" ] = \"711ca4\",\n [ \"Colne (S)\" ] = \"05533c\",\n [ \"Ellesmere Port\" ] = \"d2b988\",\n [ \"Fleetwood\" ] = \"275cb6\",\n [ \"Lancaster (W)\" ] = \"faa397\",\n [ \"Lancaster (E)\" ] = \"594082\",\n [ \"Liverpool (NW)\" ] = \"e3b7a3\",\n [ \"Liverpool (NE)\" ] = \"91911b\",\n [ \"Liverpool (SW)\" ] = \"50d45a\",\n [ \"Liverpool (SE)\" ] = \"d6e737\",\n [ \"Macclesfield (W)\" ] = \"3323a4\",\n [ \"Macclesfield (E)\" ] = \"875228\",\n [ \"Manchester (NW)\" ] = \"33f755\",\n [ \"Manchester (NE)\" ] = \"12686f\",\n [ \"Manchester (SW)\" ] = \"ff7d65\",\n [ \"Manchester (SE)\" ] = \"efed8b\",\n [ \"Oldham (W)\" ] = \"c14e85\",\n [ \"Oldham (E)\" ] = \"f438fe\",\n [ \"Preston (NW)\" ] = \"ec5dd1\",\n [ \"Preston (NE)\" ] = \"2b0036\",\n [ \"Preston (S)\" ] = \"ed3210\",\n [ \"Rochdale (N)\" ] = \"010e97\",\n [ \"Rochdale (SW)\" ] = \"c9f3a4\",\n [ \"Rochdale (SE)\" ] = \"f88687\",\n [ \"Stockport (W)\" ] = \"a15ce2\",\n [ \"Stockport (E)\" ] = \"129bf3\",\n [ \"Warrington & Runcorn (W)\" ] = \"29e020\",\n [ \"Warrington & Runcorn (E)\" ] = \"245596\",\n [ \"Wigan (N)\" ] = \"101933\",\n [ \"Wigan (S)\" ] = \"f97fdc\",\n },\n\n -- Using .getGMNotes() on the link gets the name found here.\n link_zones = {\n [ \"Barrow-in-Furness - Lancaster\" ] = \"6f2977\",\n [ \"Birkenhead - Ellesmere Port\" ] = \"f14ab3\",\n [ \"Blackburn - Bolton\" ] = \"d0120f\",\n [ \"Blackburn - Burnley\" ] = \"b59ed4\",\n [ \"Blackburn - Preston\" ] = \"79d991\",\n [ \"Blackburn - Wigan\" ] = \"cac219\",\n [ \"Blackpool - Preston\" ] = \"4e1582\",\n [ \"Bolton - Bury\" ] = \"048b74\",\n [ \"Bolton - Manchester\" ] = \"2e310e\",\n [ \"Bolton - Wigan\" ] = \"14cbda\",\n [ \"Burnley - Bury\" ] = \"079905\",\n [ \"Burnley - Colne\" ] = \"069e2b\",\n [ \"Bury - Manchester\" ] = \"4c642b\",\n [ \"Bury - Rochdale\" ] = \"eaee25\",\n [ \"Colne - Yorkshire\" ] = \"12c4ca\",\n [ \"Ellesmere Port - Liverpool\" ] = \"af204d\",\n [ \"Ellesmere Port - Northwich\" ] = \"c378a7\",\n [ \"Ellesmere Port - Warrington & Runcorn\" ] = \"63ad80\",\n [ \"Fleetwood - Preston\" ] = \"80624b\",\n [ \"Lancaster - Preston\" ] = \"bdb232\",\n [ \"Lancaster - Scotland\" ] = \"c8c36a\",\n [ \"Liverpool - Southport\" ] = \"d540b6\",\n [ \"Liverpool - Warrington & Runcorn\" ] = \"7f2bc1\",\n [ \"Liverpool - Wigan\" ] = \"e0d583\",\n [ \"Macclesfield - Stockport\" ] = \"dd8b61\",\n [ \"Macclesfield - The Midlands\" ] = \"4610a8\",\n [ \"Manchester - Oldham\" ] = \"bc38fc\",\n [ \"Manchester - Stockport\" ] = \"14c4a7\",\n [ \"Manchester - Warrington & Runcorn\" ] = \"bfcd3a\",\n [ \"Northwich - The Midlands\" ] = \"06f6e9\",\n [ \"Oldham - Rochdale\" ] = \"f4097d\",\n [ \"Preston - Southport\" ] = \"f7d09d\",\n [ \"Preston - Wigan\" ] = \"4bcea1\",\n [ \"Rochdale - Yorkshire\" ] = \"05b47e\",\n [ \"Southport - Wigan\" ] = \"5da6db\",\n [ \"Warrington & Runcorn - Wigan\" ] = \"8e2ac6\",\n },\n }\n\n if state:get_game_started() then\n local rail_era_started = state:get_current_phase() >= App.Phases.RAIL_ERA_ROUND\n\n guids.distant_market_bags = pick(guids.distant_market_bags,\n |i, guid|i == num_players - 1 and not rail_era_started\n )\n end\n\n TableLock.merge(self.objects, resolve_guids(guids))\nend\n\n\nfunction LancashireApp:init_resources()\n local objects = self.objects\n\n self.resources = rconst(rlock({\n coal = { resource_name = \"Coal\", bag = objects.coal_bag, market_zones = objects.coal_market_zones },\n iron = { resource_name = \"Iron\", bag = objects.iron_bag, market_zones = objects.iron_market_zones },\n }))\n\n SUPER.init_resources(self)\nend\n\n\n-- ================================================================================\n-- UI initialization\n\nfunction LancashireApp:create_buttons()\n local game_board = self.objects.game_board\n\n SUPER.create_buttons(self)\n\n game_board.createButton({\n label=\"+\", click_function=\"on_click_add_coal_to_market\",\n position={ -9.529565, 11.26932, 10.34858 }, rotation={ 0, 180, 0 },\n height=300, width=300, font_color={ 0, 0, 0, 1 }, font_size=250,\n })\n game_board.createButton({\n label=\"-\", click_function=\"on_click_sub_coal_from_market\",\n position={ -9.529565, 11.26932, 9.487037 }, rotation={ 0, 180, 0 },\n height=300, width=300, font_color={ 0, 0, 0, 1 }, font_size=250,\n })\n\n game_board.createButton({\n label=\"+\", click_function=\"on_click_add_iron_to_market\",\n position={ -13.32889, 11.26932, 10.34858 }, rotation={ 0, 180, 0 },\n height=300, width=300, font_color={ 0, 0, 0, 1 }, font_size=250,\n })\n game_board.createButton({\n label=\"-\", click_function=\"on_click_sub_iron_from_market\",\n position={ -13.32889, 11.26932, 9.487037 }, rotation={ 0, 180, 0 },\n height=300, width=300,font_color={ 0, 0, 0, 1 }, font_size=250,\n })\nend\n\n\n-- ================================================================================\n-- UI event handlers\n\nLancashireApp:add_event_listener(\"on_click_sell_to_distant_market\", function(self, obj, player_color, mouse_button)\n if not self.state:get_game_started() or not self.state:is_active_player(player_color) then return end\n self:sell_to_distant_market(player_color)\nend)\n\n\n-- ================================================================================\n-- Game advancement\n\nfunction LancashireApp:do_start_round()\n local objects = self.objects\n local state = self.state\n return\n SUPER.do_start_round(self)\n :next(\n function()\n if state:get_current_phase() == App.Phases.RAIL_ERA_ROUND then\n local num_rounds_left = state:get_num_rounds() - state:get_current_round() + 1\n if num_rounds_left == 5 then\n local rotation = Vector(0, 180, 180)\n\n local zone = objects.play_deck_zone\n for obj in ivalues(zone.getObjects()) do\n if obj.name == \"Deck\" or obj.name == \"Card\" then\n obj.setRotation(rotation)\n end\n end\n\n objects.deck_splitter.destruct()\n objects.deck_splitter = nil\n\n broadcastToAll(\"This is the final round in which you can obtain a loan.\", Color(0xF3/255, 0xB2/255, 0x1C/255))\n elseif num_rounds_left == 4 then\n UI.setAttribute(\"PurpleLoanBttn\", \"interactable\", \"false\") UI.setAttribute(\"PurpleLoanImg\", \"visibility\", \"-\")\n UI.setAttribute(\"TealLoanBttn\", \"interactable\", \"false\") UI.setAttribute(\"TealLoanImg\", \"visibility\", \"-\")\n UI.setAttribute(\"OrangeLoanBttn\", \"interactable\", \"false\") UI.setAttribute(\"OrangeLoanImg\", \"visibility\", \"-\")\n UI.setAttribute(\"YellowLoanBttn\", \"interactable\", \"false\") UI.setAttribute(\"YellowLoanImg\", \"visibility\", \"-\")\n end\n end\n end\n )\nend\n\n\nfunction LancashireApp:end_turn()\n local state = self.state\n\n local current_player = state:get_current_player()\n\n -- Check if the player actually completed their turn.\n if not state:get_opt_skip_discard_check() then\n if not self:are_discards_full(current_player) then\n local player = Player[current_player]\n if player.seated then\n broadcast_error(current_player .. \", you can’t end your turn because you don’t have exactly 1 card in each of your discard piles!\", current_player)\n else\n broadcast_error(\"The round can’t be ended because \" .. current_player .. \" doesn’t have exactly 1 card in each of their discard piles!\")\n end\n\n return Promise:resolve()\n end\n end\n\n return SUPER.end_turn(self)\nend\n\n\n-- ================================================================================\n-- Setup\n\nfunction LancashireApp:setup_canal_era()\n local promises = { }\n table.insert(promises, SUPER.setup_canal_era(self))\n table.insert(promises, self:setup_distant_market())\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction LancashireApp:setup_distant_market()\n local objects = self.objects\n\n local num_players = self.state:get_num_players()\n\n local promise\n for i, distant_market_bag in ipairs(objects.distant_market_bags) do\n if i == num_players - 1 then\n promise = self:spawn_distant_market_deck(distant_market_bag)\n else\n distant_market_bag.destruct()\n objects.distant_market_bags[i] = nil\n end\n end\n\n return promise\nend\n\n\nfunction LancashireApp:setup_rail_era()\n local promises = { }\n table.insert(promises, SUPER.setup_rail_era(self))\n table.insert(promises, self:reset_distant_market())\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction LancashireApp:reset_distant_market()\n local objects = self.objects\n\n local promises = { }\n\n do\n local marker = objects.distant_market_marker\n local zone = objects.distant_market_zones[1]\n table.insert(promises,\n move_atop_smooth(marker, zone, { protrusion = 0.75, rotation = true })\n :next(|marker|wait_condition(||marker.resting, marker, 3, \"Timeout moving distant market marker.\"))\n )\n end\n\n do\n local zone = objects.distant_market_discard_zone\n for obj in ivalues(zone.getObjects()) do\n if starts_with(obj.getGMNotes(), \"Distant Market\") then\n obj.destruct()\n end\n end\n end\n\n self:find_distant_market_deck().destruct()\n\n do\n local num_players = self.state:get_num_players()\n local distant_market_bag = objects.distant_market_bags[ num_players - 1 ]\n table.insert(promises, self:spawn_distant_market_deck(distant_market_bag))\n\n distant_market_bag.destruct()\n objects.distant_market_bags[ num_players - 1 ] = nil\n\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\nend\n\n\nfunction LancashireApp:setup_deck_rail_era()\n local objects = self.objects\n local splitter = objects.deck_splitter\n local num_players = self.state:get_num_players()\n\n return\n SUPER.setup_deck_rail_era(self)\n :next(\n function(deck)\n local splitter_height = get_abs_height(splitter)\n local deck_height = get_abs_height(deck)\n\n local pos = get_bot_pos(deck)\n\n local splitter_pos = pos:copy()\n splitter_pos.y = splitter_pos.y + 0.2 * 2*num_players + 0.2 + splitter_height/2\n\n local deck_pos = splitter_pos:copy()\n deck_pos.y = deck_pos.y + splitter_height/2 + 0.2 + deck_height/2\n\n local splitter_rot = splitter.getRotation()\n splitter_rot.z = ( splitter_rot.z + 180 ) % 360\n\n deck.setLock(true)\n return\n set_position_smooth(deck, deck_pos)\n :next(\n function(deck)\n splitter.setLock(true)\n return\n set_transform_smooth(splitter, {\n position = splitter_pos,\n rotation = splitter_rot,\n })\n :next(\n function(splitter)\n local promises = { }\n\n for i = 1, 2*num_players do\n pos.y = pos.y + 0.2\n table.insert(promises,\n take_object(deck, {\n position = pos,\n rotation = Vector(0, 90, 180),\n })\n )\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\n end\n )\n :next(\n function()\n splitter.setLock(false)\n deck.setLock(false)\n\n return\n wait_frames(1)\n :next(||wait_condition(||splitter.resting and deck.resting, deck, 3, \"Timeout setting up deck.\"))\n end\n )\n end\n )\n end\n )\nend\n\n\n-- ================================================================================\n-- Discard pile manipulations\n\nfunction LancashireApp:are_discards_full(color_name)\n for i = 1, 2 do\n local count = self:get_discarded_count(color_name, i)\n if count ~= 1 then\n return false\n end\n end\n\n return true\nend\n\n\n-- ================================================================================\n-- Distant market\n\nfunction LancashireApp:spawn_distant_market_deck(distant_market_bag)\n local objects = self.objects\n local distant_market_deck_zone = objects.distant_market_deck_zone\n return\n take_object(distant_market_bag, {\n position = distant_market_deck_zone.getPosition(),\n rotation = distant_market_deck_zone.getRotation(),\n })\n :next(\n function(deck)\n return\n wait_condition(||deck.resting, deck, 3, \"Timeout setting up distant market.\")\n :next(\n function(deck)\n deck.setLock(true)\n deck.shuffle()\n return deck\n end\n )\n end\n )\nend\n\nfunction LancashireApp:find_distant_market_marker()\n local objects = self.objects\n local i = find_zone(objects.distant_market_zones, objects.distant_market_marker)\n return i\nend\n\n\nfunction LancashireApp:find_distant_market_deck()\n local zone = self.objects.distant_market_deck_zone\n for obj in ivalues(zone.getObjects()) do\n if starts_with(obj.getGMNotes(), \"Distant Market Tiles\") then\n return obj\n end\n end\n\n return nil\nend\n\n\nfunction LancashireApp:sell_to_distant_market(color_name)\n local objects = self.objects\n local player = objects.players[color_name]\n\n local initial_marker_idx = self:find_distant_market_marker()\n if not initial_marker_idx then\n broadcast_error(\"Can’t find the distant market marker!\")\n return\n end\n\n if initial_marker_idx == 9 then\n broadcast_error(color_name .. \", you can’t sell to the distant market due to lack of demand!\", color_name)\n return\n end\n\n local deck = self:find_distant_market_deck()\n local zone = objects.distant_market_discard_zone\n local p = take_object(deck, {\n position = get_top_pos(zone),\n rotation = zone.getRotation(),\n })\n :next(\n function(tile)\n local advancement = tonumber(string.sub(tile.getGMNotes(), -1))\n local final_marker_index = initial_marker_idx + advancement\n if final_marker_index > 9 then\n final_marker_index = 9\n end\n\n local income_advancement = math.floor( ( 8 - final_marker_index ) / 2 )\n\n local promises = { }\n local msg\n local msg_color_name = color_name\n\n if income_advancement > 0 then\n local marker = player.income_marker\n local old_ofs = self:get_track_position_offset(marker)\n local new_ofs = old_ofs + income_advancement\n table.insert(promises, self:move_marker(marker, new_ofs, true))\n msg = color_name .. \" sold to the distant market. Their income increased to \" .. new_ofs .. \" (from \" .. old_ofs .. \").\"\n elseif income_advancement == 0 then\n msg = color_name .. \" sold to the distant market. Their income remained unchanged.\"\n else\n msg = color_name .. \" attempted to sell to the distant market, but there was no demand.\"\n msg_color_name = \"Red\"\n end\n\n if initial_marker_idx ~= final_marker_index then\n local marker = objects.distant_market_marker\n local zone = objects.distant_market_zones[final_marker_index]\n table.insert(promises,\n move_atop_smooth(marker, zone, { protrusion = 0.75, rotation = true })\n :next(|marker|wait_condition(||marker.resting, marker, 3, \"Timeout moving distant market marker.\"))\n )\n end\n\n return\n Promise:all_settled(promises)\n :next(Promise.all_settled_error_logger)\n :finally(\n function()\n printToAll(msg, msg_color_name)\n end\n )\n end\n )\n :done()\nend\n\n\n-- ================================================================================\n\nreturn LancashireApp\n\nend)\n__bundle_register(\"kintastic/lib/Devel\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Utils to aid development.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal Debug = require(\"kintastic/lib/Debug\")\r\nlocal TableLock = require(\"kintastic/lib/TableLock\")\r\nlocal TtsPlayerUtils = require(\"kintastic/lib/TtsPlayerUtils\")\r\nlocal TtsZoneUtils = require(\"kintastic/lib/TtsZoneUtils\")\r\n\r\n-- Imports.\r\nlocal find_zones_containing_object = TtsZoneUtils.find_zones_containing_object\r\n\r\n-- The module.\r\nlocal Devel = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function Devel.import_event_handlers\r\n\r\nfunction Devel.import_event_handlers()\r\n local event = \"onScriptingButtonDown\"\r\n TableLock.declare(_G, event)\r\n if _G[event] then\r\n local old_handler = _G[event]\r\n local new_handler = function(...)\r\n if not Devel[event]() then\r\n return old_handler(...)\r\n end\r\n end\r\n _G[event] = new_handler\r\n else\r\n _G[event] = Devel[event]\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Devel.make_zone_tangible\r\n\r\nfunction Devel.make_zone_tangible(zone)\r\n if not zone or zone.name ~= \"ScriptingTrigger\" then\r\n error(\"Invalid input.\")\r\n end\r\n\r\n local data = zone.getData()\r\n data.Name = \"BlockSquare\"\r\n data.Locked = false\r\n data.ColorDiffuse = { r = 0xB0/0xFF, g = 0xD1/0xFF, b = 0xE1/0xFF, a = 0xC8/0xFF }\r\n\r\n zone.destruct()\r\n\r\n return spawnObjectData({ data = data })\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Devel.make_zone_intangible\r\n\r\nfunction Devel.make_zone_intangible(obj)\r\n if not obj or obj.name ~= \"BlockSquare\" then\r\n error(\"Invalid input.\")\r\n end\r\n\r\n local position = obj.getPosition()\r\n local rotation = obj.getRotation()\r\n local scale = obj.getScale()\r\n\r\n local data = obj.getData()\r\n data.Name = \"ScriptingTrigger\"\r\n data.Locked = true\r\n data.ColorDiffuse = { r = 1, g = 1, b = 1, a = 0x82/0xFF }\r\n\r\n obj.destruct()\r\n\r\n return spawnObjectData({\r\n data = data,\r\n position = position, -- Using the default didn't always work.\r\n rotation = rotation,\r\n scale = scale,\r\n })\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Devel.onScriptingButtonDown\r\n\r\nfunction Devel.onScriptingButtonDown(index, color_name)\r\n if index ~= 5 then\r\n return false\r\n end\r\n\r\n local player = Player[color_name]\r\n local obj = player.getHoverObject()\r\n if not obj or obj.name ~= \"BlockSquare\" then\r\n return\r\n end\r\n\r\n local zones = find_zones_containing_object(obj)\r\n if #zones == 0 then\r\n Devel.make_zone_intangible(obj)\r\n elseif #zones == 1 then\r\n obj.destruct()\r\n Devel.make_zone_tangible(zones[1])\r\n else\r\n error(\"Object touches multiple zones.\")\r\n end\r\n\r\n return true\r\nend\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Devel\r\n\nend)\n__bundle_register(\"kintastic/lib/Debug\", function(require, _LOADED, __bundle_register, __bundle_modules)\n-- ================================================================================\r\n-- Utils to aid debugging.\r\n-- ================================================================================\r\n\r\n-- Modules.\r\nlocal TableLock = require(\"kintastic/lib/TableLock\")\r\nlocal TtsPlayerUtils = require(\"kintastic/lib/TtsPlayerUtils\")\r\n\r\n-- The module.\r\nlocal Debug = { }\r\n\r\n\r\n-- ================================================================================\r\n-- Public interface\r\n\r\n-- ----------------------------------------\r\n-- Public function Debug.import_into_global\r\n\r\nfunction Debug.import_into_global()\r\n TableLock.merge(_G, Debug)\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Debug.require\r\n--\r\n-- Gives access to bundled modules.\r\n\r\nDebug.require = require\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Debug.get_host\r\n\r\nDebug.get_host = TtsPlayerUtils.get_host\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Debug.ping\r\n\r\nfunction Debug.ping(guid_or_obj)\r\n local obj\r\n if type(guid_or_obj) == \"string\" then\r\n obj = getObjectFromGUID(guid_or_obj)\r\n else\r\n obj = guid_or_obj\r\n end\r\n\r\n if obj then\r\n Debug.get_host().pingTable(obj.getPosition())\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Debug.dd\r\n--\r\n-- usage:\r\n-- Debug.dd(x)\r\n-- Debug.dd(label, x)\r\n--\r\n-- WARNING: This uses a poor dumper which will be replaced with a better one in the future.\r\n\r\nfunction Debug.dd(a, b)\r\n if b then\r\n print(a .. \" \" .. logString(b))\r\n else\r\n print( logString(a))\r\n end\r\nend\r\n\r\n\r\n-- ----------------------------------------\r\n-- Public function Debug.O\r\n-- Public function Debug.H\r\n-- Public function Debug.HC\r\n\r\nDebug.O = getObjectFromGUID\r\nDebug.H = Debug.get_host\r\nDebug.HC = ||Debug.get_host().color\r\n\r\n\r\n-- ================================================================================\r\n\r\nreturn Debug\r\n\nend)\nreturn __bundle_require(\"__root\")", "LuaScriptState": "", "XmlUI": "\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\n", "CustomUIAssets": [ { "Name": "Box Purple", "URL": "http://cloud-3.steamusercontent.com/ugc/1502467941174820281/72E8467300939276720B0208F6BAEDB7ABF4009D/" }, { "Name": "Box Teal", "URL": "http://cloud-3.steamusercontent.com/ugc/1502467941174820372/95A285D029C16C1D92C38F3AF3B5DE91DB726B77/" }, { "Name": "Box Orange", "URL": "http://cloud-3.steamusercontent.com/ugc/1502467941174820470/8138EC86B63E8CE63161DEB5640CD60DB7C71D47/" }, { "Name": "Box Yellow", "URL": "http://cloud-3.steamusercontent.com/ugc/1502467941174820530/0735E06513847945AC86EF1D7225CE21D30E4CF3/" }, { "Name": "Box Admin", "URL": "http://cloud-3.steamusercontent.com/ugc/1502467941174820598/17E00E8BBDFAACBA9EA5A51FA2C33EF722C28C56/" }, { "Name": "Income Purple Dec", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368666780/0D25B9C1AC3746C299F818D778A7404479820E11/" }, { "Name": "Income Orange Dec", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368665738/7092D95BAB211DD80886C7DC39AD6EB542B9D7BB/" }, { "Name": "Income Orange Inc", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368666208/1F41FE1D86C945CCFE6F84CC2EC7F5299FDB7D52/" }, { "Name": "Income Purple Inc", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368667924/18EA83A168F3E98579963D208C2531245B1504E2/" }, { "Name": "Income Teal Dec", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368668407/1B308F6E56D34328092FC9AC0B5991A4B7F01DD5/" }, { "Name": "Income Teal Inc", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368668894/76730DEFB6D8A7BD61D5DA2A26A7778C5B0F7D97/" }, { "Name": "Income Yellow Dec", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368669412/0470B195F13564AE5B685022036B975862D4ED4E/" }, { "Name": "Income Yellow Inc", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368671890/32ACE1CDC5026C8D66B855FFE80A62C6EA88FFE5/" }, { "Name": "Loan Orange", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368672529/0C2F900750ABDF8371A73BF9DAB8482536123B3B/" }, { "Name": "Loan Purple", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368454443/68F3CD7DF16689BCC0CB10C2BEF8A93A8619B001/" }, { "Name": "Loan Teal", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368673683/C91C5629C50A12DCACD3A30526CA60884BEF4AA7/" }, { "Name": "Loan Yellow", "URL": "http://cloud-3.steamusercontent.com/ugc/1502468159368745536/9CC7C17125DA912D382E7073426F3E535E1E0543/" }, { "Name": "Popup Close", "URL": "http://cloud-3.steamusercontent.com/ugc/1791848543423659966/ABE81EA115CA42741D71BC1647801B882844479D/" }, { "Name": "Popup Open", "URL": "http://cloud-3.steamusercontent.com/ugc/1791848543423660469/7864C819DF1D41A1117097C54F40AC7D1DDF4284/" } ], "SnapPoints": [ { "Position": { "x": -0.00093633536, "y": 1.46963012, "z": 29.484724 }, "Rotation": { "x": 0.0002872935, "y": 180.390625, "z": -0.000232903767 }, "Tags": [ "turn_order" ] }, { "Position": { "x": -1.49612451, "y": 1.46963012, "z": 29.49081 }, "Rotation": { "x": 0.329940975, "y": 180.055176, "z": 0.165559381 }, "Tags": [ "link_canal" ] }, { "Position": { "x": 1.49952745, "y": 1.46963012, "z": 29.5135174 }, "Rotation": { "x": 359.722168, "y": 180.212036, "z": 359.8926 }, "Tags": [ "link_rail" ] }, { "Position": { "x": 7.937365E-06, "y": 1.46962893, "z": 18.9999943 }, "Rotation": { "x": -5.20323873E-08, "y": 180.000168, "z": -1.344926E-08 } }, { "Position": { "x": 0.753380835, "y": 1.50428176, "z": -6.26136 }, "Rotation": { "x": 0.0890806243, "y": 189.600647, "z": 359.990448 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": -3.370314, "y": 1.50371456, "z": -5.553945 }, "Rotation": { "x": 0.08888091, "y": 202.638489, "z": 0.0107234111 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -2.17603922, "y": 1.50518739, "z": -4.789972 }, "Rotation": { "x": 0.0638731048, "y": 240.232422, "z": 0.06273891 }, "Tags": [ "link_canal" ] }, { "Position": { "x": 2.349971, "y": 1.50179672, "z": -8.306663 }, "Rotation": { "x": 0.0242668949, "y": 269.999817, "z": 0.0861697346 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": -0.4830622, "y": 1.50640917, "z": -4.51816 }, "Rotation": { "x": 0.04798027, "y": 138.079758, "z": 359.924377 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": -0.643873036, "y": 1.50799906, "z": -3.2986083 }, "Rotation": { "x": 0.08966765, "y": 194.999863, "z": -0.00121003133 }, "Tags": [ "link_rail" ] }, { "Position": { "x": 0.588234365, "y": 1.50939608, "z": -2.78649378 }, "Rotation": { "x": 0.06683406, "y": 237.459869, "z": 0.05957361 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 3.490965, "y": 1.50934589, "z": -3.6554234 }, "Rotation": { "x": 0.08029367, "y": 169.37822, "z": 359.960266 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 5.89283133, "y": 1.50766456, "z": -5.433375 }, "Rotation": { "x": 0.0641176254, "y": 239.999847, "z": 0.0624773763 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 7.7239356, "y": 1.50475013, "z": -7.9053216 }, "Rotation": { "x": 0.0438508578, "y": 134.999817, "z": 359.9219 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 7.555036, "y": 1.51036119, "z": -4.109377 }, "Rotation": { "x": 0.07703052, "y": 164.999741, "z": 359.954254 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 8.997433, "y": 1.51505482, "z": -1.459837 }, "Rotation": { "x": 359.986328, "y": 96.9256439, "z": 359.9115 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 9.914196, "y": 1.51974308, "z": 1.46944809 }, "Rotation": { "x": 0.0242526382, "y": 269.999756, "z": 0.0861704946 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 9.483782, "y": 1.52422428, "z": 4.571145 }, "Rotation": { "x": 0.06412509, "y": 239.999878, "z": 0.0624840334 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 7.045227, "y": 1.52342331, "z": 4.66875648 }, "Rotation": { "x": 0.08328755, "y": 174.101028, "z": 359.967 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 4.412053, "y": 1.52213526, "z": 4.535614 }, "Rotation": { "x": 0.06867836, "y": 155.740067, "z": 359.942474 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 5.93008852, "y": 1.51952922, "z": 2.46231627 }, "Rotation": { "x": 0.0242654774, "y": 269.999756, "z": 0.0861764 }, "Tags": [ "link_rail" ] }, { "Position": { "x": 4.31610966, "y": 1.5160135, "z": 0.5232024 }, "Rotation": { "x": 0.06257924, "y": 149.999756, "z": 359.9359 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 3.801728, "y": 1.51217842, "z": -1.80900836 }, "Rotation": { "x": 0.07812775, "y": 224.999863, "z": 0.0437608063 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 3.19411564, "y": 1.51631677, "z": 0.700837851 }, "Rotation": { "x": 359.975739, "y": 89.9998856, "z": 359.913818 }, "Tags": [ "link_rail" ] }, { "Position": { "x": 1.55974591, "y": 1.514996, "z": 0.697194338 }, "Rotation": { "x": 0.06258092, "y": 149.999786, "z": 359.935883 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 1.772268, "y": 1.51889777, "z": 3.16872239 }, "Rotation": { "x": 0.0888478458, "y": 203.067139, "z": 0.01142158 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -1.56747139, "y": 1.51538312, "z": 1.77386367 }, "Rotation": { "x": 0.0438504256, "y": 134.999786, "z": 359.9219 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -1.99377286, "y": 1.51742756, "z": 3.33268976 }, "Rotation": { "x": 0.0710739046, "y": 158.1938, "z": 359.945465 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -1.71431458, "y": 1.51956677, "z": 4.70220137 }, "Rotation": { "x": 0.08771659, "y": 207.433472, "z": 0.0181511976 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": -0.220455855, "y": 1.521553, "z": 5.538683 }, "Rotation": { "x": 0.0151736187, "y": 275.96283, "z": 0.08822683 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 0.122188188, "y": 1.52626109, "z": 8.555707 }, "Rotation": { "x": 0.0257676579, "y": 268.999634, "z": 0.0857226 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -1.81414115, "y": 1.5256542, "z": 8.736686 }, "Rotation": { "x": 0.0881485939, "y": 205.928757, "z": 0.01583402 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -2.97387218, "y": 1.5108906, "z": -0.7956534 }, "Rotation": { "x": 0.0242687, "y": 269.999756, "z": 0.08617355 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -1.269379, "y": 1.511163, "z": -1.06265306 }, "Rotation": { "x": 0.04385186, "y": 134.999786, "z": 359.9219 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 1.28393984, "y": 1.5118885, "z": -1.32098067 }, "Rotation": { "x": 0.08623989, "y": 179.999817, "z": 359.975739 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": -1.25932956, "y": 1.51350868, "z": 0.421741366 }, "Rotation": { "x": 0.0862392, "y": 179.999832, "z": 359.975739 }, "Tags": [ "link_rail" ] }, { "Position": { "x": 0.0932201743, "y": 1.51519024, "z": 1.25119293 }, "Rotation": { "x": 0.02426281, "y": 269.999817, "z": 0.08617473 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": -11.2381639, "y": 1.49363756, "z": -10.0010605 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2566385, "y": 1.494906, "z": -9.148168 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2288084, "y": 1.496299, "z": -8.292208 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.24846, "y": 1.49721873, "z": -7.47910452 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.235815, "y": 1.49855614, "z": -6.64588833 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2480612, "y": 1.49976718, "z": -5.80968761 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2399073, "y": 1.50117576, "z": -4.967557 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2549171, "y": 1.502149, "z": -4.14977932 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2410488, "y": 1.50369477, "z": -3.315397 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2525988, "y": 1.5048207, "z": -2.47920871 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2452955, "y": 1.50593853, "z": -1.61067474 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.250351, "y": 1.507488, "z": -0.64553684 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2550735, "y": 1.508305, "z": 0.02188385 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2476912, "y": 1.51097751, "z": 1.66108716 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2457428, "y": 1.50994766, "z": 1.01364589 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.25045, "y": 1.51260412, "z": 2.686266 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2517471, "y": 1.51360309, "z": 3.33960247 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2526455, "y": 1.5149008, "z": 4.333634 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2476511, "y": 1.51614773, "z": 4.97752666 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.251296, "y": 1.51756656, "z": 5.99645472 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2465811, "y": 1.51843429, "z": 6.643948 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2448254, "y": 1.51991534, "z": 7.63932562 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2498817, "y": 1.52104425, "z": 8.30378151 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2457523, "y": 1.52260244, "z": 9.295421 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -11.2449312, "y": 1.52356112, "z": 9.95622349 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -10.0841885, "y": 1.52583075, "z": 11.2519054 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -9.425724, "y": 1.52602422, "z": 11.24496 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -8.459815, "y": 1.52650285, "z": 11.2490082 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -7.80134773, "y": 1.52659786, "z": 11.2420635 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -6.76837, "y": 1.52721953, "z": 11.2491856 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -6.10990667, "y": 1.52762926, "z": 11.242239 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -4.860392, "y": 1.52818668, "z": 11.2344713 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -4.201908, "y": 1.52834177, "z": 11.2424355 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -3.52848554, "y": 1.52860522, "z": 11.2375364 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -2.173177, "y": 1.52914751, "z": 11.2348909 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -1.51847577, "y": 1.5294224, "z": 11.2329865 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -0.8450872, "y": 1.52976942, "z": 11.2523479 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 0.5233296, "y": 1.53044939, "z": 11.24996 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 1.19240367, "y": 1.53067315, "z": 11.2470179 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 1.859118, "y": 1.53099358, "z": 11.2413139 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 3.21047068, "y": 1.53153992, "z": 11.2402706 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 3.8689332, "y": 1.53199565, "z": 11.233326 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 4.53931332, "y": 1.5321641, "z": 11.2334213 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 5.985027, "y": 1.532756, "z": 11.2505417 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 6.64349127, "y": 1.53310668, "z": 11.2435951 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 7.31911135, "y": 1.53313422, "z": 11.2538414 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 8.643398, "y": 1.53376365, "z": 11.2558937 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 9.301862, "y": 1.53405762, "z": 11.2489481 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 9.985191, "y": 1.53442454, "z": 11.2487564 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2328167, "y": 1.53258324, "z": 9.691406 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2387276, "y": 1.53177869, "z": 9.020642 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2433329, "y": 1.53060579, "z": 8.350715 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2420053, "y": 1.5286299, "z": 7.01601028 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2479172, "y": 1.5277257, "z": 6.345246 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2525215, "y": 1.52670753, "z": 5.67531872 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2484922, "y": 1.52453935, "z": 4.293637 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2544022, "y": 1.52357852, "z": 3.62287045 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2590046, "y": 1.52276814, "z": 2.95294356 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2424374, "y": 1.52044952, "z": 1.59133816 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2483511, "y": 1.51957166, "z": 0.9205722 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2529554, "y": 1.51857269, "z": 0.250646234 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2515221, "y": 1.51649988, "z": -1.10947573 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2574329, "y": 1.515531, "z": -1.7802422 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2620382, "y": 1.5145936, "z": -2.45016766 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2565069, "y": 1.51327765, "z": -3.10830784 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.241828, "y": 1.511546, "z": -4.413003 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2477388, "y": 1.51045322, "z": -5.08377028 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2418661, "y": 1.508448, "z": -6.403786 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2523413, "y": 1.509358, "z": -5.753698 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.23764, "y": 1.5065167, "z": -7.742804 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2438831, "y": 1.50557065, "z": -8.401003 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.248476, "y": 1.50433612, "z": -9.070927 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 11.2411356, "y": 1.503462, "z": -9.718114 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 10.0260515, "y": 1.50073159, "z": -11.2502489 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 8.697933, "y": 1.50012672, "z": -11.26109 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 9.367859, "y": 1.50036776, "z": -11.2564907 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 8.050676, "y": 1.499818, "z": -11.2537327 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 6.88048553, "y": 1.49946511, "z": -11.25136 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 6.222291, "y": 1.49916339, "z": -11.2576017 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 5.55236435, "y": 1.49884272, "z": -11.2621994 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 4.905108, "y": 1.49857974, "z": -11.2548447 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 3.75310636, "y": 1.49829686, "z": -11.2505074 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 3.09491086, "y": 1.49798381, "z": -11.2567482 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 2.424986, "y": 1.497584, "z": -11.2613459 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 1.77772927, "y": 1.49719274, "z": -11.2539921 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 0.6663928, "y": 1.49676943, "z": -11.2496634 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 0.008198533, "y": 1.49650216, "z": -11.2559071 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -0.6617271, "y": 1.49617016, "z": -11.2605057 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -1.3089838, "y": 1.49583244, "z": -11.2531481 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -3.11948276, "y": 1.495214, "z": -11.25505 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -2.461288, "y": 1.49538088, "z": -11.248805 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -3.789408, "y": 1.49489594, "z": -11.2596474 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -4.43666553, "y": 1.494444, "z": -11.2522888 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -5.64416265, "y": 1.49396622, "z": -11.2397165 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -6.30235863, "y": 1.49381638, "z": -11.2459574 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -6.97228241, "y": 1.49357235, "z": -11.2505579 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -7.61954069, "y": 1.49337661, "z": -11.2432013 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -8.737656, "y": 1.49270058, "z": -11.2470894 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -9.39585, "y": 1.49255276, "z": -11.2533321 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": -10.0657749, "y": 1.49218118, "z": -11.2579269 }, "Tags": [ "vp_marker", "income_marker" ] }, { "Position": { "x": 8.5, "y": 1.46962893, "z": 15.5 }, "Rotation": { "x": -2.15569557E-07, "y": 180.0, "z": 6.730256E-09 } } ], "ObjectStates": [ { "GUID": "d8fd61", "Name": "HandTrigger", "Transform": { "posX": 19.3702583, "posY": 4.97104263, "posZ": -19.3087769, "rotX": 0.0, "rotY": 0.398040444, "rotZ": 0.0, "scaleX": 13.5641584, "scaleY": 7.0, "scaleZ": 3.45686674 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.128999949, "g": 0.694, "b": 0.606999934, "a": 0.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "FogColor": "Teal", "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "237623", "Name": "HandTrigger", "Transform": { "posX": 21.13777, "posY": 4.97104263, "posZ": 18.7352428, "rotX": 0.0, "rotY": 0.213706836, "rotZ": 0.0, "scaleX": 14.0915194, "scaleY": 7.0, "scaleZ": 4.105583 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.627, "g": 0.124999978, "b": 0.941, "a": 0.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "FogColor": "Purple", "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "eeb5e2", "Name": "HandTrigger", "Transform": { "posX": -20.7904072, "posY": 4.97104263, "posZ": 18.61762, "rotX": 0.0, "rotY": 359.893158, "rotZ": 0.0, "scaleX": 13.5172434, "scaleY": 7.0, "scaleZ": 4.045662 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.905, "g": 0.898, "b": 0.171999961, "a": 0.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "FogColor": "Yellow", "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "05966f", "Name": "HandTrigger", "Transform": { "posX": -19.8156281, "posY": 4.96962929, "posZ": -19.3307438, "rotX": 0.0, "rotY": 359.8869, "rotZ": 0.0, "scaleX": 13.773591, "scaleY": 7.0, "scaleZ": 3.897642 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.9559999, "g": 0.39199996, "b": 0.112999953, "a": 0.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "FogColor": "Orange", "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e54c1a", "Name": "Infinite_Bag", "Transform": { "posX": 17.0, "posY": 1.45773, "posZ": 1.0, "rotX": -1.72917751E-07, "rotY": 0.00595061062, "rotZ": -2.97412271E-07, "scaleX": 0.7, "scaleY": 0.7, "scaleZ": 0.7 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249979526, "g": 0.249979526, "b": 0.249979526 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "163a52", "Name": "Custom_Model", "Transform": { "posX": 16.9855385, "posY": 3.09313536, "posZ": 0.7688449, "rotX": 350.968, "rotY": 359.9774, "rotZ": 0.7215174, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249997526, "g": 0.249997526, "b": 0.249997526 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] }, { "GUID": "456c88", "Name": "Bowl", "Transform": { "posX": -9.220059, "posY": 1.47241545, "posZ": -9.252351, "rotX": 0.08820359, "rotY": -7.663988E-05, "rotZ": 359.911926, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.196059585, "g": 0.196059585, "b": 0.196059585 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- First player bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "2666ed", "Name": "Bowl", "Transform": { "posX": -6.830043, "posY": 1.47240543, "posZ": -9.250042, "rotX": 0.0881933, "rotY": -5.014769E-05, "rotZ": 359.911926, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.196059585, "g": 0.196059585, "b": 0.196059585 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- Second player bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "f8b045", "Name": "Bowl", "Transform": { "posX": -4.480053, "posY": 1.47241807, "posZ": -9.250028, "rotX": 0.088212125, "rotY": -5.530687E-05, "rotZ": 359.911926, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.196059585, "g": 0.196059585, "b": 0.196059585 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- Third player bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "c740af", "Name": "Bowl", "Transform": { "posX": -2.08004212, "posY": 1.47241867, "posZ": -9.250041, "rotX": 0.08820645, "rotY": -5.78595136E-05, "rotZ": 359.911926, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.196059585, "g": 0.196059585, "b": 0.196059585 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- Fourth player bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "2d162b", "Name": "Custom_Model", "Transform": { "posX": -11.2381334, "posY": 1.54354537, "posZ": -10.0013123, "rotX": 0.09935463, "rotY": 180.057983, "rotZ": 0.06719553, "scaleX": 0.2, "scaleY": 2.0, "scaleZ": 0.2 }, "Nickname": "Yellow Victory Points", "Description": "", "GMNotes": "Yellow Victory Points", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.247018725 }, "Tags": [ "vp_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f890c5", "Name": "Custom_Model", "Transform": { "posX": -11.2375383, "posY": 1.64251912, "posZ": -10.0023232, "rotX": 0.234374523, "rotY": 180.0309, "rotZ": 0.16680254, "scaleX": 0.2, "scaleY": 2.0, "scaleZ": 0.2 }, "Nickname": "Orange Victory Points", "Description": "", "GMNotes": "Orange Victory Points", "ColorDiffuse": { "r": 0.8784314, "g": 0.443123162, "b": 0.30194667 }, "Tags": [ "vp_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fa02ec", "Name": "Custom_Model", "Transform": { "posX": -11.2390671, "posY": 1.84179366, "posZ": -10.00329, "rotX": 0.24869816, "rotY": 180.119583, "rotZ": 0.308312982, "scaleX": 0.2, "scaleY": 2.0, "scaleZ": 0.2 }, "Nickname": "Purple Victory Points", "Description": "", "GMNotes": "Purple Victory Points", "ColorDiffuse": { "r": 0.5490196, "g": 0.4470588, "b": 0.796078444 }, "Tags": [ "vp_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "08f261", "Name": "Custom_Model", "Transform": { "posX": -11.2397976, "posY": 1.74222648, "posZ": -10.0036077, "rotX": 0.239216462, "rotY": 180.0907, "rotZ": 0.330319643, "scaleX": 0.2, "scaleY": 2.0, "scaleZ": 0.2 }, "Nickname": "Teal Victory Points", "Description": "", "GMNotes": "Teal Victory Points", "ColorDiffuse": { "r": 0.7921569, "g": 0.858823538, "b": 0.8627451 }, "Tags": [ "vp_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0e63cb", "Name": "Custom_Assetbundle", "Transform": { "posX": -2.779862E-09, "posY": 1.46962988, "posZ": 27.0, "rotX": -1.1844952E-07, "rotY": 179.989029, "rotZ": 4.65408732E-07, "scaleX": 1.2750001, "scaleY": 0.850000143, "scaleZ": 1.2750001 }, "Nickname": "Start Game", "Description": "", "GMNotes": "Start Game", "ColorDiffuse": { "r": 0.635294139, "g": 0.75686276, "b": 0.894117653 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": false, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": false, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomAssetbundle": { "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/854978386866114925/A8093F7A448A137FDBB8297A3D8A61D0B0EA5112/", "AssetbundleSecondaryURL": "", "MaterialIndex": 0, "TypeIndex": 0, "LoopingEffectIndex": 0 }, "LuaScript": "function onload()\r\n -- Clickable area\r\n self.createButton({\r\n click_function = \"on_click_start_game\",\r\n position = { 0, 0.2, 0 },\r\n height = 700,\r\n width = 700,\r\n color = { 1, 1, 1, 0 },\r\n label = \"\",\r\n })\r\n\r\n -- Button label\r\n self.createButton({\r\n click_function = \"on_click_start_game\",\r\n position = { 0, 0.2, 0 },\r\n height = 1,\r\n width = 1,\r\n color = { 1, 1, 1, 1 },\r\n label = self.getName(),\r\n font_size = 160,\r\n })\r\nend", "LuaScriptState": "" }, { "GUID": "f4d107", "Name": "Bowl", "Transform": { "posX": -10.0, "posY": 1.42985725, "posZ": -14.25, "rotX": 0.08819288, "rotY": 0.038013868, "rotZ": 359.911926, "scaleX": 0.8, "scaleY": 0.8, "scaleZ": 0.8 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.8784314, "g": 0.36076498, "b": 0.301941454 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- Orange wallet bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "820239", "Name": "Bowl", "Transform": { "posX": -15.2498741, "posY": 1.4277854, "posZ": 14.2499018, "rotX": 0.120244905, "rotY": -0.0042465874, "rotZ": 359.9457, "scaleX": 0.8, "scaleY": 0.8, "scaleZ": 0.8 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.2431179 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- Yellow wallet bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "6e1823", "Name": "Bowl", "Transform": { "posX": 15.7500114, "posY": 1.42706406, "posZ": 14.2499952, "rotX": 0.08783345, "rotY": 0.0372765027, "rotZ": 359.912384, "scaleX": 0.8, "scaleY": 0.8, "scaleZ": 0.8 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.545097947, "g": 0.443117946, "b": 0.796078444 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- Purple wallet bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "ab3868", "Name": "Bowl", "Transform": { "posX": 10.0, "posY": 1.42997384, "posZ": -14.250289, "rotX": 0.08820939, "rotY": 359.989075, "rotZ": 359.911926, "scaleX": 0.8, "scaleY": 0.8, "scaleZ": 0.8 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "-- Teal wallet bowl\r\n----#include mods/Brass/lib/Bowl\n-- Counting Bowl by MrStump, modified\r\n\r\n\r\n-- Constants\r\nlocal validCountItemList = {\r\n [ \"Gold\" ] = 15,\r\n [ \"Silver\" ] = 5,\r\n [ \"Bronze\" ] = 1,\r\n}\r\n\r\n\r\n-- Public attributes\r\nitemsInBowl = { }\r\nupdateHook = nil\r\n\r\n\r\n-- Private attributes.\r\nlocal value\r\n\r\n\r\nfunction onLoad()\r\n self.createButton({\r\n label=\"\", click_function=\"none\", function_owner=self,\r\n position={0,0.04,-2.5}, rotation={0,180,0}, height=0, width=0,\r\n font_color={1,1,1}, font_size=500\r\n })\r\n\r\n Wait.time(countItems, 1, -1)\r\nend\r\n\r\n\r\n-- Gets the items in the bowl for countItems to count\r\nlocal function findItemsInSphere()\r\n local pos = self.getPosition()\r\n local scale = self.getScale()\r\n\r\n pos.y = pos.y + ( 1.25 * scale.y )\r\n\r\n return Physics.cast({\r\n origin = pos,\r\n direction = { 0, 1, 0 },\r\n type = 2,\r\n max_distance = 0,\r\n size = { 3.4 * scale.x, 3.4 * scale.y, 3.4 * scale.z },\r\n })\r\nend\r\n\r\n\r\n-- Counts items in bowls.\r\n-- Sets itemsInBowl.\r\n-- Returns the count.\r\n-- Externally callable.\r\n-- Activated once per second.\r\nfunction countItems()\r\n local foundItems = findItemsInSphere()\r\n\r\n -- Isolate items of interest.\r\n itemsInBowl = {}\r\n for i, entry in ipairs(foundItems) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n table.insert(itemsInBowl, entry.hit_object)\r\n end\r\n end\r\n\r\n -- Calculate value of items of interest.\r\n local totalValue = 0\r\n for i, obj in ipairs(itemsInBowl) do\r\n local descValue = tonumber(obj.getDescription())\r\n local stackMult = math.abs(obj.getQuantity())\r\n\r\n -- Use value in description if available.\r\n if descValue then\r\n totalValue = totalValue + descValue * stackMult\r\n else\r\n totalValue = totalValue + validCountItemList[obj.getName()] * stackMult\r\n end\r\n end\r\n\r\n if totalValue ~= value then\r\n value = totalValue\r\n\r\n -- Updates the number display.\r\n self.editButton({ index=0, label=totalValue })\r\n\r\n if updateHook then\r\n local obj\r\n if updateHook[1] == \"Global\" or updateHook[1] == -1 then\r\n obj = Global\r\n else\r\n obj = getObjectFromGUID(updateHook[1])\r\n end\r\n\r\n obj.call(updateHook[2], {\r\n guid = self.guid,\r\n value = value,\r\n data = updateHook[3],\r\n })\r\n end\r\n end\r\n\r\n return totalValue\r\nend\r\n\r\n\r\n-- Empties the bowl\r\n-- Externally callable.\r\nfunction empty()\r\n local itemsInBowl = findItemsInSphere()\r\n for _, entry in ipairs(itemsInBowl) do\r\n if validCountItemList[entry.hit_object.getName()] then\r\n entry.hit_object.destruct()\r\n end\r\n end\r\n\r\n countItems()\r\nend\r\n\n----#include mods/Brass/lib/Bowl", "LuaScriptState": "" }, { "GUID": "02b512", "Name": "Custom_Model", "Transform": { "posX": 0.0, "posY": 1.26, "posZ": 0.0, "rotX": 0.0, "rotY": -0.00189453643, "rotZ": 0.0, "scaleX": 2.2, "scaleY": 0.02, "scaleZ": 2.2 }, "Nickname": "Game Table", "Description": "", "GMNotes": "Game Table", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": false, "GridProjection": true, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/987863257458518028/CEE2F8E7B56A47085522C3BAE37C5ADF6C0043AF/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/987863257458474338/EEF2FF28224A83EB29EC7D5B3CA728782F1554FC/", "NormalURL": "", "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/987863257458518028/CEE2F8E7B56A47085522C3BAE37C5ADF6C0043AF/", "Convex": true, "MaterialIndex": 1, "TypeIndex": 4, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "959e1a", "Name": "Infinite_Bag", "Transform": { "posX": -2.75, "posY": 1.45, "posZ": 35.0, "rotX": 0.0, "rotY": -2.73986752E-05, "rotZ": 1.994151E-07, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "Decks for Two Players", "Description": "", "GMNotes": "Decks for Two Players", "ColorDiffuse": { "r": 0.191049069, "g": 0.28610006, "b": 0.921602845 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "29d3a4", "Name": "Deck", "Transform": { "posX": -2.5, "posY": 3.50963926, "posZ": 34.5, "rotX": 0.0248639435, "rotY": 179.996811, "rotZ": 180.048431, "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": [ 400, 423, 415, 402, 422, 403, 419, 417, 414, 405, 418, 404, 416, 420, 420, 419, 416, 414, 422, 423, 404, 404, 403, 423, 400, 413, 422, 419, 402, 417, 401, 416, 418, 401, 404, 420, 413, 414, 412, 412 ], "CustomDeck": { "4": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "953021", "Name": "Card", "Transform": { "posX": -4.51251268, "posY": 1.71573961, "posZ": 26.3171062, "rotX": 0.4531331, "rotY": 179.99115, "rotZ": 359.4384, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 400, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "89c465", "Name": "Card", "Transform": { "posX": -4.79143572, "posY": 1.98864639, "posZ": 15.9189825, "rotX": 0.009173709, "rotY": 179.994888, "rotZ": 180.076584, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ed5749", "Name": "Card", "Transform": { "posX": -4.129922, "posY": 1.56392419, "posZ": 16.789463, "rotX": 0.0168729089, "rotY": 179.999252, "rotZ": 0.07987924, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 415, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2f0260", "Name": "Card", "Transform": { "posX": 9.652453, "posY": 1.70990384, "posZ": 26.651804, "rotX": 1.35595512, "rotY": 179.980759, "rotZ": 359.320831, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 402, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8ef161", "Name": "Card", "Transform": { "posX": 17.2304783, "posY": 1.79189134, "posZ": 16.861414, "rotX": 357.3137, "rotY": 180.002274, "rotZ": 0.07988816, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fd5afa", "Name": "Card", "Transform": { "posX": 6.42813969, "posY": 1.571542, "posZ": 27.0106735, "rotX": 0.07004041, "rotY": 179.996933, "rotZ": 359.993073, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 403, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1cef59", "Name": "Card", "Transform": { "posX": 10.2222977, "posY": 1.78494108, "posZ": 17.2745953, "rotX": 357.272369, "rotY": 180.010483, "rotZ": 0.07513662, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "86bef9", "Name": "Card", "Transform": { "posX": 3.147627, "posY": 1.55373371, "posZ": 16.68609, "rotX": 0.0127045577, "rotY": 179.987549, "rotZ": 0.0814999342, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 417, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8b1db8", "Name": "Card", "Transform": { "posX": -4.331655, "posY": 1.56541038, "posZ": 21.5679626, "rotX": 0.00963702053, "rotY": 180.000427, "rotZ": 0.0768828839, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f29b09", "Name": "Card", "Transform": { "posX": -0.664490759, "posY": 1.57166553, "posZ": 26.9892921, "rotX": 0.229008913, "rotY": 180.026611, "rotZ": 9.729098E-05, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 405, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "434034", "Name": "Card", "Transform": { "posX": 6.71835327, "posY": 1.54875982, "posZ": 16.6828632, "rotX": 0.0164551754, "rotY": 179.999222, "rotZ": 0.07971438, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 418, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0096de", "Name": "Card", "Transform": { "posX": 2.62761736, "posY": 1.72428536, "posZ": 26.75869, "rotX": 0.31849584, "rotY": 179.936691, "rotZ": 0.00461178366, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "888e5f", "Name": "Card", "Transform": { "posX": -0.2219972, "posY": 1.72122276, "posZ": 16.6000767, "rotX": 0.08502816, "rotY": 179.999908, "rotZ": 0.221460715, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12811e", "Name": "Card", "Transform": { "posX": 13.758338, "posY": 1.70499229, "posZ": 16.7101345, "rotX": 0.0195651073, "rotY": 180.003784, "rotZ": 0.07358416, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12d325", "Name": "Card", "Transform": { "posX": 14.0803251, "posY": 1.68099749, "posZ": 16.8799267, "rotX": 0.0155889131, "rotY": 179.999664, "rotZ": 0.07498034, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "754bf6", "Name": "Card", "Transform": { "posX": 10.97866, "posY": 1.54273677, "posZ": 16.6254883, "rotX": 0.0140728215, "rotY": 179.999237, "rotZ": 0.07896491, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "888e5f", "Name": "Card", "Transform": { "posX": -0.256284833, "posY": 1.55826247, "posZ": 16.7487679, "rotX": 0.007529891, "rotY": 179.99942, "rotZ": 0.07637907, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8b1db8", "Name": "Card", "Transform": { "posX": -4.596753, "posY": 1.73197222, "posZ": 21.8081017, "rotX": 0.0173291154, "rotY": 180.000336, "rotZ": 0.08404071, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "685282", "Name": "Card", "Transform": { "posX": 21.011816, "posY": 1.66931331, "posZ": 16.4422054, "rotX": 0.0118572153, "rotY": 179.99942, "rotZ": 0.0897286758, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1e3729", "Name": "Card", "Transform": { "posX": 20.4512348, "posY": 1.695544, "posZ": 16.67592, "rotX": 0.0186142, "rotY": 179.989548, "rotZ": 0.0838763341, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "81b7ef", "Name": "Card", "Transform": { "posX": 2.638019, "posY": 1.73434782, "posZ": 27.0823059, "rotX": 0.09854927, "rotY": 180.00412, "rotZ": 0.0006354895, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7390a", "Name": "Card", "Transform": { "posX": 2.58166718, "posY": 1.57215965, "posZ": 27.1352272, "rotX": 0.189457491, "rotY": 179.99765, "rotZ": 1.0403447E-05, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8c7f9e", "Name": "Card", "Transform": { "posX": 6.27240467, "posY": 1.7191608, "posZ": 27.2882233, "rotX": 359.866425, "rotY": 179.99913, "rotZ": 359.6209, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 403, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "830d62", "Name": "Card", "Transform": { "posX": 24.07619, "posY": 1.66854453, "posZ": 16.6294346, "rotX": -0.00247729267, "rotY": 179.869781, "rotZ": 0.07510338, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5e870e", "Name": "Card", "Transform": { "posX": -4.25784254, "posY": 1.57101429, "posZ": 26.9043255, "rotX": 0.06794895, "rotY": 179.996872, "rotZ": 359.977051, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 400, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "67c951", "Name": "Card", "Transform": { "posX": -0.41292, "posY": 1.70897567, "posZ": 21.7253113, "rotX": 0.02751424, "rotY": 180.047226, "rotZ": 0.0881231651, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 413, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8ef161", "Name": "Card", "Transform": { "posX": 20.9054375, "posY": 1.528856, "posZ": 16.4400234, "rotX": 0.0145325838, "rotY": 179.999252, "rotZ": 0.0791051, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "88fcec", "Name": "Card", "Transform": { "posX": 11.1670322, "posY": 1.68584549, "posZ": 16.4735336, "rotX": 0.0181202851, "rotY": 179.999542, "rotZ": 0.0787193552, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "92a1bd", "Name": "Card", "Transform": { "posX": 10.2499352, "posY": 1.57138515, "posZ": 26.98677, "rotX": 0.968479335, "rotY": 179.986664, "rotZ": -0.00386168878, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 402, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "21ee81", "Name": "Card", "Transform": { "posX": 3.06042242, "posY": 1.70156372, "posZ": 16.8862171, "rotX": 359.9722, "rotY": 179.976089, "rotZ": 0.01556971, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 417, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1a6cd1", "Name": "Card", "Transform": { "posX": 13.6834307, "posY": 1.57142711, "posZ": 26.9977531, "rotX": 0.257405579, "rotY": 179.99736, "rotZ": 359.988281, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 401, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7fe9d", "Name": "Card", "Transform": { "posX": -0.221981153, "posY": 1.70275962, "posZ": 16.600111, "rotX": 0.0672445446, "rotY": 180.000031, "rotZ": 0.242339656, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "744c1e", "Name": "Card", "Transform": { "posX": 6.795649, "posY": 1.69344962, "posZ": 16.7397766, "rotX": 0.0119410809, "rotY": 179.999054, "rotZ": 0.07891664, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 418, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "54a6c0", "Name": "Card", "Transform": { "posX": 14.1006975, "posY": 1.71638906, "posZ": 26.7519569, "rotX": 0.5414272, "rotY": 180.000717, "rotZ": 0.475966334, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 401, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7390a", "Name": "Card", "Transform": { "posX": 2.50973034, "posY": 1.72384942, "posZ": 26.9053955, "rotX": 0.0179477334, "rotY": 180.021774, "rotZ": 359.989624, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12811e", "Name": "Card", "Transform": { "posX": 14.1203947, "posY": 1.53835416, "posZ": 16.5084419, "rotX": 0.0151017969, "rotY": 179.999252, "rotZ": 0.07918029, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "da8077", "Name": "Card", "Transform": { "posX": -0.7377963, "posY": 1.56065607, "posZ": 21.797699, "rotX": 0.0162061863, "rotY": 180.066818, "rotZ": 0.0731087551, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 413, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4be3b0", "Name": "Card", "Transform": { "posX": -4.070091, "posY": 1.7104193, "posZ": 21.8457355, "rotX": 359.74295, "rotY": 179.997147, "rotZ": 0.5136842, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5240cf", "Name": "Card", "Transform": { "posX": 2.46611977, "posY": 1.70471072, "posZ": 22.0188541, "rotX": 0.0006968436, "rotY": 179.9881, "rotZ": 0.0401921235, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 412, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7e5108", "Name": "Card", "Transform": { "posX": 2.75252128, "posY": 1.55583858, "posZ": 21.9840183, "rotX": 0.0157414619, "rotY": 179.989441, "rotZ": 0.0765208453, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 412, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] } ] }, { "GUID": "03115c", "Name": "Infinite_Bag", "Transform": { "posX": 0.0, "posY": 1.45475507, "posZ": 35.0, "rotX": 0.0, "rotY": -0.000262155751, "rotZ": 5.9680616E-07, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "Decks for Three Players", "Description": "", "GMNotes": "Decks for Three Players", "ColorDiffuse": { "r": 0.191049039, "g": 0.28610003, "b": 0.921602845 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "a235c1", "Name": "Deck", "Transform": { "posX": 0.5, "posY": 3.581421, "posZ": 34.5, "rotX": 0.0179690644, "rotY": 179.997055, "rotZ": 180.0696, "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": [ 221, 211, 221, 221, 209, 221, 219, 211, 221, 210, 220, 208, 208, 210, 400, 423, 415, 402, 422, 403, 419, 417, 414, 405, 418, 404, 416, 420, 420, 419, 416, 414, 422, 423, 404, 404, 403, 423, 400, 413, 422, 419, 402, 417, 401, 416, 418, 401, 404, 420, 413, 414, 412, 412 ], "CustomDeck": { "2": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 }, "4": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.5153389, "posY": 1.68170416, "posZ": 16.6744537, "rotX": 359.837463, "rotY": 179.998077, "rotZ": 0.3567135, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "14f444", "Name": "Card", "Transform": { "posX": 6.216853, "posY": 1.69625854, "posZ": 22.0557, "rotX": 0.0126195671, "rotY": 179.998825, "rotZ": 0.0757830739, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 211, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.51515, "posY": 1.69274759, "posZ": 16.6742325, "rotX": 0.0168567374, "rotY": 179.999344, "rotZ": 0.08164492, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "49a567", "Name": "Card", "Transform": { "posX": 17.51516, "posY": 1.67520308, "posZ": 16.67424, "rotX": 0.0163162369, "rotY": 179.999359, "rotZ": 0.08552998, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "001b55", "Name": "Card", "Transform": { "posX": 24.2927456, "posY": 1.51865029, "posZ": -2.396829, "rotX": 0.0168727562, "rotY": 179.9992, "rotZ": 0.079880096, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 209, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.3684616, "posY": 1.53379142, "posZ": 16.46649, "rotX": 0.0143963667, "rotY": 179.999146, "rotZ": 0.07904994, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "754bf6", "Name": "Card", "Transform": { "posX": 17.40196, "posY": 1.52690506, "posZ": -6.98764849, "rotX": 0.0168688744, "rotY": 180.004059, "rotZ": 0.07988071, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 219, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "de4de5", "Name": "Card", "Transform": { "posX": 6.314497, "posY": 1.55092013, "posZ": 22.1073322, "rotX": 0.0164207518, "rotY": 179.999084, "rotZ": 0.07968163, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 211, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.5150585, "posY": 1.68700957, "posZ": 16.6742363, "rotX": 0.01932738, "rotY": 179.999847, "rotZ": 0.0517050363, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "20cfe5", "Name": "Card", "Transform": { "posX": 9.732361, "posY": 1.5461278, "posZ": 22.1122627, "rotX": 0.0153384358, "rotY": 180.006241, "rotZ": 0.07519592, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 210, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fde715", "Name": "Card", "Transform": { "posX": 24.4247627, "posY": 1.51712239, "posZ": -6.96033239, "rotX": 0.0168729629, "rotY": 179.999619, "rotZ": 0.07987599, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 220, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6a0c7c", "Name": "Card", "Transform": { "posX": 16.3900585, "posY": 1.679109, "posZ": 21.8150463, "rotX": 0.0124728335, "rotY": 179.9987, "rotZ": 0.0733709037, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 208, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1da602", "Name": "Card", "Transform": { "posX": 16.5581112, "posY": 1.53661036, "posZ": 22.0404243, "rotX": 0.0160581283, "rotY": 179.998978, "rotZ": 0.07953222, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 208, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "99e6c7", "Name": "Card", "Transform": { "posX": 9.805331, "posY": 1.69396377, "posZ": 21.8136024, "rotX": 0.0106752524, "rotY": 180.007919, "rotZ": 0.041261483, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 210, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "953021", "Name": "Card", "Transform": { "posX": -4.51251268, "posY": 1.71573961, "posZ": 26.3171062, "rotX": 0.4531331, "rotY": 179.99115, "rotZ": 359.4384, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 400, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "89c465", "Name": "Card", "Transform": { "posX": -4.79143572, "posY": 1.98864639, "posZ": 15.9189825, "rotX": 0.009173709, "rotY": 179.994888, "rotZ": 180.076584, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ed5749", "Name": "Card", "Transform": { "posX": -4.129922, "posY": 1.56392419, "posZ": 16.789463, "rotX": 0.0168729089, "rotY": 179.999252, "rotZ": 0.07987924, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 415, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2f0260", "Name": "Card", "Transform": { "posX": 9.652453, "posY": 1.70990384, "posZ": 26.651804, "rotX": 1.35595512, "rotY": 179.980759, "rotZ": 359.320831, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 402, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8ef161", "Name": "Card", "Transform": { "posX": 17.2304783, "posY": 1.79189134, "posZ": 16.861414, "rotX": 357.3137, "rotY": 180.002274, "rotZ": 0.07988816, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fd5afa", "Name": "Card", "Transform": { "posX": 6.42813969, "posY": 1.571542, "posZ": 27.0106735, "rotX": 0.07004041, "rotY": 179.996933, "rotZ": 359.993073, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 403, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1cef59", "Name": "Card", "Transform": { "posX": 10.2222977, "posY": 1.78494108, "posZ": 17.2745953, "rotX": 357.272369, "rotY": 180.010483, "rotZ": 0.07513662, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "86bef9", "Name": "Card", "Transform": { "posX": 3.147627, "posY": 1.55373371, "posZ": 16.68609, "rotX": 0.0127045577, "rotY": 179.987549, "rotZ": 0.0814999342, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 417, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8b1db8", "Name": "Card", "Transform": { "posX": -4.331655, "posY": 1.56541038, "posZ": 21.5679626, "rotX": 0.00963702053, "rotY": 180.000427, "rotZ": 0.0768828839, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f29b09", "Name": "Card", "Transform": { "posX": -0.664490759, "posY": 1.57166553, "posZ": 26.9892921, "rotX": 0.229008913, "rotY": 180.026611, "rotZ": 9.729098E-05, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 405, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "434034", "Name": "Card", "Transform": { "posX": 6.71835327, "posY": 1.54875982, "posZ": 16.6828632, "rotX": 0.0164551754, "rotY": 179.999222, "rotZ": 0.07971438, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 418, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0096de", "Name": "Card", "Transform": { "posX": 2.62761736, "posY": 1.72428536, "posZ": 26.75869, "rotX": 0.31849584, "rotY": 179.936691, "rotZ": 0.00461178366, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "888e5f", "Name": "Card", "Transform": { "posX": -0.2219972, "posY": 1.72122276, "posZ": 16.6000767, "rotX": 0.08502816, "rotY": 179.999908, "rotZ": 0.221460715, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12811e", "Name": "Card", "Transform": { "posX": 13.758338, "posY": 1.70499229, "posZ": 16.7101345, "rotX": 0.0195651073, "rotY": 180.003784, "rotZ": 0.07358416, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12d325", "Name": "Card", "Transform": { "posX": 14.0803251, "posY": 1.68099749, "posZ": 16.8799267, "rotX": 0.0155889131, "rotY": 179.999664, "rotZ": 0.07498034, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "754bf6", "Name": "Card", "Transform": { "posX": 10.97866, "posY": 1.54273677, "posZ": 16.6254883, "rotX": 0.0140728215, "rotY": 179.999237, "rotZ": 0.07896491, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "888e5f", "Name": "Card", "Transform": { "posX": -0.256284833, "posY": 1.55826247, "posZ": 16.7487679, "rotX": 0.007529891, "rotY": 179.99942, "rotZ": 0.07637907, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8b1db8", "Name": "Card", "Transform": { "posX": -4.596753, "posY": 1.73197222, "posZ": 21.8081017, "rotX": 0.0173291154, "rotY": 180.000336, "rotZ": 0.08404071, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "685282", "Name": "Card", "Transform": { "posX": 21.011816, "posY": 1.66931331, "posZ": 16.4422054, "rotX": 0.0118572153, "rotY": 179.99942, "rotZ": 0.0897286758, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1e3729", "Name": "Card", "Transform": { "posX": 20.4512348, "posY": 1.695544, "posZ": 16.67592, "rotX": 0.0186142, "rotY": 179.989548, "rotZ": 0.0838763341, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "81b7ef", "Name": "Card", "Transform": { "posX": 2.638019, "posY": 1.73434782, "posZ": 27.0823059, "rotX": 0.09854927, "rotY": 180.00412, "rotZ": 0.0006354895, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7390a", "Name": "Card", "Transform": { "posX": 2.58166718, "posY": 1.57215965, "posZ": 27.1352272, "rotX": 0.189457491, "rotY": 179.99765, "rotZ": 1.0403447E-05, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8c7f9e", "Name": "Card", "Transform": { "posX": 6.27240467, "posY": 1.7191608, "posZ": 27.2882233, "rotX": 359.866425, "rotY": 179.99913, "rotZ": 359.6209, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 403, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "830d62", "Name": "Card", "Transform": { "posX": 24.07619, "posY": 1.66854453, "posZ": 16.6294346, "rotX": -0.00247729267, "rotY": 179.869781, "rotZ": 0.07510338, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5e870e", "Name": "Card", "Transform": { "posX": -4.25784254, "posY": 1.57101429, "posZ": 26.9043255, "rotX": 0.06794895, "rotY": 179.996872, "rotZ": 359.977051, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 400, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "67c951", "Name": "Card", "Transform": { "posX": -0.41292, "posY": 1.70897567, "posZ": 21.7253113, "rotX": 0.02751424, "rotY": 180.047226, "rotZ": 0.0881231651, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 413, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8ef161", "Name": "Card", "Transform": { "posX": 20.9054375, "posY": 1.528856, "posZ": 16.4400234, "rotX": 0.0145325838, "rotY": 179.999252, "rotZ": 0.0791051, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "88fcec", "Name": "Card", "Transform": { "posX": 11.1670322, "posY": 1.68584549, "posZ": 16.4735336, "rotX": 0.0181202851, "rotY": 179.999542, "rotZ": 0.0787193552, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "92a1bd", "Name": "Card", "Transform": { "posX": 10.2499352, "posY": 1.57138515, "posZ": 26.98677, "rotX": 0.968479335, "rotY": 179.986664, "rotZ": -0.00386168878, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 402, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "21ee81", "Name": "Card", "Transform": { "posX": 3.06042242, "posY": 1.70156372, "posZ": 16.8862171, "rotX": 359.9722, "rotY": 179.976089, "rotZ": 0.01556971, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 417, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1a6cd1", "Name": "Card", "Transform": { "posX": 13.6834307, "posY": 1.57142711, "posZ": 26.9977531, "rotX": 0.257405579, "rotY": 179.99736, "rotZ": 359.988281, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 401, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7fe9d", "Name": "Card", "Transform": { "posX": -0.221981153, "posY": 1.70275962, "posZ": 16.600111, "rotX": 0.0672445446, "rotY": 180.000031, "rotZ": 0.242339656, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "744c1e", "Name": "Card", "Transform": { "posX": 6.795649, "posY": 1.69344962, "posZ": 16.7397766, "rotX": 0.0119410809, "rotY": 179.999054, "rotZ": 0.07891664, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 418, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "54a6c0", "Name": "Card", "Transform": { "posX": 14.1006975, "posY": 1.71638906, "posZ": 26.7519569, "rotX": 0.5414272, "rotY": 180.000717, "rotZ": 0.475966334, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 401, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7390a", "Name": "Card", "Transform": { "posX": 2.50973034, "posY": 1.72384942, "posZ": 26.9053955, "rotX": 0.0179477334, "rotY": 180.021774, "rotZ": 359.989624, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12811e", "Name": "Card", "Transform": { "posX": 14.1203947, "posY": 1.53835416, "posZ": 16.5084419, "rotX": 0.0151017969, "rotY": 179.999252, "rotZ": 0.07918029, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "da8077", "Name": "Card", "Transform": { "posX": -0.7377963, "posY": 1.56065607, "posZ": 21.797699, "rotX": 0.0162061863, "rotY": 180.066818, "rotZ": 0.0731087551, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 413, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4be3b0", "Name": "Card", "Transform": { "posX": -4.070091, "posY": 1.7104193, "posZ": 21.8457355, "rotX": 359.74295, "rotY": 179.997147, "rotZ": 0.5136842, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5240cf", "Name": "Card", "Transform": { "posX": 2.46611977, "posY": 1.70471072, "posZ": 22.0188541, "rotX": 0.0006968436, "rotY": 179.9881, "rotZ": 0.0401921235, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 412, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7e5108", "Name": "Card", "Transform": { "posX": 2.75252128, "posY": 1.55583858, "posZ": 21.9840183, "rotX": 0.0157414619, "rotY": 179.989441, "rotZ": 0.0765208453, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 412, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] } ] }, { "GUID": "d7877c", "Name": "Infinite_Bag", "Transform": { "posX": 2.75, "posY": 1.45, "posZ": 35.0, "rotX": 3.81065486E-13, "rotY": 0.000120131735, "rotZ": -3.634917E-07, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "Decks for Four Players", "Description": "", "GMNotes": "Decks for Four Players", "ColorDiffuse": { "r": 0.191049039, "g": 0.28610003, "b": 0.921602845 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "ecbf9e", "Name": "Deck", "Transform": { "posX": 2.5, "posY": 3.62518716, "posZ": 34.5, "rotX": 0.0244093947, "rotY": 179.996689, "rotZ": 179.953568, "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": [ 316, 321, 306, 307, 307, 321, 310, 320, 306, 321, 221, 211, 221, 221, 209, 221, 219, 211, 221, 210, 220, 208, 208, 210, 400, 423, 415, 402, 422, 403, 419, 417, 414, 405, 418, 404, 416, 420, 420, 419, 416, 414, 422, 423, 404, 404, 403, 423, 400, 413, 422, 419, 402, 417, 401, 416, 418, 401, 404, 420, 413, 414, 412, 412 ], "CustomDeck": { "3": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 }, "2": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 }, "4": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "888e5f", "Name": "Card", "Transform": { "posX": 28.718359, "posY": 1.57171512, "posZ": 11.4949007, "rotX": 6.41418353E-07, "rotY": 180.000443, "rotZ": 1.66294831E-05, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 316, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 19.9843884, "posY": 1.5286, "posZ": 11.1742125, "rotX": 0.0148884086, "rotY": 180.000229, "rotZ": 0.07920154, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 321, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e8b0ca", "Name": "Card", "Transform": { "posX": 28.3112164, "posY": 1.7209928, "posZ": 20.24809, "rotX": 0.003038702, "rotY": 180.014465, "rotZ": 359.993134, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 306, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "36e245", "Name": "Card", "Transform": { "posX": 28.8041725, "posY": 1.57170355, "posZ": 15.8357353, "rotX": -0.0003050025, "rotY": 180.01474, "rotZ": -0.000406999781, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 307, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "687ff7", "Name": "Card", "Transform": { "posX": 28.9364071, "posY": 1.7197957, "posZ": 15.7587452, "rotX": -0.00368033769, "rotY": 179.998627, "rotZ": 359.987885, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 307, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7f58c3", "Name": "Card", "Transform": { "posX": 20.1995544, "posY": 1.6699574, "posZ": 11.6210966, "rotX": 0.0141828526, "rotY": 179.999466, "rotZ": 0.08782578, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 321, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cd694a", "Name": "Card", "Transform": { "posX": 28.71078, "posY": 1.571715, "posZ": 24.6211967, "rotX": 1.976463E-05, "rotY": 180.008942, "rotZ": -7.416644E-08, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 310, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "83de6b", "Name": "Card", "Transform": { "posX": 25.6978149, "posY": 1.54802072, "posZ": 7.24316931, "rotX": 0.00130687817, "rotY": 180.066818, "rotZ": 358.957153, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 320, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "57c252", "Name": "Card", "Transform": { "posX": 28.6532688, "posY": 1.57168686, "posZ": 20.2481079, "rotX": 0.0009189502, "rotY": 180.014465, "rotZ": 0.000312838121, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 306, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 20.199543, "posY": 1.68751884, "posZ": 11.6210756, "rotX": 0.01626347, "rotY": 179.9994, "rotZ": 0.08216588, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 321, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.5153389, "posY": 1.68170416, "posZ": 16.6744537, "rotX": 359.837463, "rotY": 179.998077, "rotZ": 0.3567135, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "14f444", "Name": "Card", "Transform": { "posX": 6.216853, "posY": 1.69625854, "posZ": 22.0557, "rotX": 0.0126195671, "rotY": 179.998825, "rotZ": 0.0757830739, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 211, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.51515, "posY": 1.69274759, "posZ": 16.6742325, "rotX": 0.0168567374, "rotY": 179.999344, "rotZ": 0.08164492, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "49a567", "Name": "Card", "Transform": { "posX": 17.51516, "posY": 1.67520308, "posZ": 16.67424, "rotX": 0.0163162369, "rotY": 179.999359, "rotZ": 0.08552998, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "001b55", "Name": "Card", "Transform": { "posX": 24.2927456, "posY": 1.51865029, "posZ": -2.396829, "rotX": 0.0168727562, "rotY": 179.9992, "rotZ": 0.079880096, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 209, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.3684616, "posY": 1.53379142, "posZ": 16.46649, "rotX": 0.0143963667, "rotY": 179.999146, "rotZ": 0.07904994, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "754bf6", "Name": "Card", "Transform": { "posX": 17.40196, "posY": 1.52690506, "posZ": -6.98764849, "rotX": 0.0168688744, "rotY": 180.004059, "rotZ": 0.07988071, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 219, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "de4de5", "Name": "Card", "Transform": { "posX": 6.314497, "posY": 1.55092013, "posZ": 22.1073322, "rotX": 0.0164207518, "rotY": 179.999084, "rotZ": 0.07968163, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 211, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6617a0", "Name": "Card", "Transform": { "posX": 17.5150585, "posY": 1.68700957, "posZ": 16.6742363, "rotX": 0.01932738, "rotY": 179.999847, "rotZ": 0.0517050363, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 221, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "20cfe5", "Name": "Card", "Transform": { "posX": 9.732361, "posY": 1.5461278, "posZ": 22.1122627, "rotX": 0.0153384358, "rotY": 180.006241, "rotZ": 0.07519592, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 210, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fde715", "Name": "Card", "Transform": { "posX": 24.4247627, "posY": 1.51712239, "posZ": -6.96033239, "rotX": 0.0168729629, "rotY": 179.999619, "rotZ": 0.07987599, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 220, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6a0c7c", "Name": "Card", "Transform": { "posX": 16.3900585, "posY": 1.679109, "posZ": 21.8150463, "rotX": 0.0124728335, "rotY": 179.9987, "rotZ": 0.0733709037, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 208, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1da602", "Name": "Card", "Transform": { "posX": 16.5581112, "posY": 1.53661036, "posZ": 22.0404243, "rotX": 0.0160581283, "rotY": 179.998978, "rotZ": 0.07953222, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 208, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "99e6c7", "Name": "Card", "Transform": { "posX": 9.805331, "posY": 1.69396377, "posZ": 21.8136024, "rotX": 0.0106752524, "rotY": 180.007919, "rotZ": 0.041261483, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 210, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "953021", "Name": "Card", "Transform": { "posX": -4.51251268, "posY": 1.71573961, "posZ": 26.3171062, "rotX": 0.4531331, "rotY": 179.99115, "rotZ": 359.4384, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 400, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "89c465", "Name": "Card", "Transform": { "posX": -4.79143572, "posY": 1.98864639, "posZ": 15.9189825, "rotX": 0.009173709, "rotY": 179.994888, "rotZ": 180.076584, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ed5749", "Name": "Card", "Transform": { "posX": -4.129922, "posY": 1.56392419, "posZ": 16.789463, "rotX": 0.0168729089, "rotY": 179.999252, "rotZ": 0.07987924, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 415, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2f0260", "Name": "Card", "Transform": { "posX": 9.652453, "posY": 1.70990384, "posZ": 26.651804, "rotX": 1.35595512, "rotY": 179.980759, "rotZ": 359.320831, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 402, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8ef161", "Name": "Card", "Transform": { "posX": 17.2304783, "posY": 1.79189134, "posZ": 16.861414, "rotX": 357.3137, "rotY": 180.002274, "rotZ": 0.07988816, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fd5afa", "Name": "Card", "Transform": { "posX": 6.42813969, "posY": 1.571542, "posZ": 27.0106735, "rotX": 0.07004041, "rotY": 179.996933, "rotZ": 359.993073, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 403, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1cef59", "Name": "Card", "Transform": { "posX": 10.2222977, "posY": 1.78494108, "posZ": 17.2745953, "rotX": 357.272369, "rotY": 180.010483, "rotZ": 0.07513662, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "86bef9", "Name": "Card", "Transform": { "posX": 3.147627, "posY": 1.55373371, "posZ": 16.68609, "rotX": 0.0127045577, "rotY": 179.987549, "rotZ": 0.0814999342, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 417, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8b1db8", "Name": "Card", "Transform": { "posX": -4.331655, "posY": 1.56541038, "posZ": 21.5679626, "rotX": 0.00963702053, "rotY": 180.000427, "rotZ": 0.0768828839, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f29b09", "Name": "Card", "Transform": { "posX": -0.664490759, "posY": 1.57166553, "posZ": 26.9892921, "rotX": 0.229008913, "rotY": 180.026611, "rotZ": 9.729098E-05, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 405, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "434034", "Name": "Card", "Transform": { "posX": 6.71835327, "posY": 1.54875982, "posZ": 16.6828632, "rotX": 0.0164551754, "rotY": 179.999222, "rotZ": 0.07971438, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 418, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0096de", "Name": "Card", "Transform": { "posX": 2.62761736, "posY": 1.72428536, "posZ": 26.75869, "rotX": 0.31849584, "rotY": 179.936691, "rotZ": 0.00461178366, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "888e5f", "Name": "Card", "Transform": { "posX": -0.2219972, "posY": 1.72122276, "posZ": 16.6000767, "rotX": 0.08502816, "rotY": 179.999908, "rotZ": 0.221460715, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12811e", "Name": "Card", "Transform": { "posX": 13.758338, "posY": 1.70499229, "posZ": 16.7101345, "rotX": 0.0195651073, "rotY": 180.003784, "rotZ": 0.07358416, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12d325", "Name": "Card", "Transform": { "posX": 14.0803251, "posY": 1.68099749, "posZ": 16.8799267, "rotX": 0.0155889131, "rotY": 179.999664, "rotZ": 0.07498034, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "754bf6", "Name": "Card", "Transform": { "posX": 10.97866, "posY": 1.54273677, "posZ": 16.6254883, "rotX": 0.0140728215, "rotY": 179.999237, "rotZ": 0.07896491, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "888e5f", "Name": "Card", "Transform": { "posX": -0.256284833, "posY": 1.55826247, "posZ": 16.7487679, "rotX": 0.007529891, "rotY": 179.99942, "rotZ": 0.07637907, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8b1db8", "Name": "Card", "Transform": { "posX": -4.596753, "posY": 1.73197222, "posZ": 21.8081017, "rotX": 0.0173291154, "rotY": 180.000336, "rotZ": 0.08404071, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "685282", "Name": "Card", "Transform": { "posX": 21.011816, "posY": 1.66931331, "posZ": 16.4422054, "rotX": 0.0118572153, "rotY": 179.99942, "rotZ": 0.0897286758, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1e3729", "Name": "Card", "Transform": { "posX": 20.4512348, "posY": 1.695544, "posZ": 16.67592, "rotX": 0.0186142, "rotY": 179.989548, "rotZ": 0.0838763341, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "81b7ef", "Name": "Card", "Transform": { "posX": 2.638019, "posY": 1.73434782, "posZ": 27.0823059, "rotX": 0.09854927, "rotY": 180.00412, "rotZ": 0.0006354895, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7390a", "Name": "Card", "Transform": { "posX": 2.58166718, "posY": 1.57215965, "posZ": 27.1352272, "rotX": 0.189457491, "rotY": 179.99765, "rotZ": 1.0403447E-05, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8c7f9e", "Name": "Card", "Transform": { "posX": 6.27240467, "posY": 1.7191608, "posZ": 27.2882233, "rotX": 359.866425, "rotY": 179.99913, "rotZ": 359.6209, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 403, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "830d62", "Name": "Card", "Transform": { "posX": 24.07619, "posY": 1.66854453, "posZ": 16.6294346, "rotX": -0.00247729267, "rotY": 179.869781, "rotZ": 0.07510338, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 423, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5e870e", "Name": "Card", "Transform": { "posX": -4.25784254, "posY": 1.57101429, "posZ": 26.9043255, "rotX": 0.06794895, "rotY": 179.996872, "rotZ": 359.977051, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 400, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "67c951", "Name": "Card", "Transform": { "posX": -0.41292, "posY": 1.70897567, "posZ": 21.7253113, "rotX": 0.02751424, "rotY": 180.047226, "rotZ": 0.0881231651, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 413, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8ef161", "Name": "Card", "Transform": { "posX": 20.9054375, "posY": 1.528856, "posZ": 16.4400234, "rotX": 0.0145325838, "rotY": 179.999252, "rotZ": 0.0791051, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 422, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "88fcec", "Name": "Card", "Transform": { "posX": 11.1670322, "posY": 1.68584549, "posZ": 16.4735336, "rotX": 0.0181202851, "rotY": 179.999542, "rotZ": 0.0787193552, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 419, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "92a1bd", "Name": "Card", "Transform": { "posX": 10.2499352, "posY": 1.57138515, "posZ": 26.98677, "rotX": 0.968479335, "rotY": 179.986664, "rotZ": -0.00386168878, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 402, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "21ee81", "Name": "Card", "Transform": { "posX": 3.06042242, "posY": 1.70156372, "posZ": 16.8862171, "rotX": 359.9722, "rotY": 179.976089, "rotZ": 0.01556971, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 417, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1a6cd1", "Name": "Card", "Transform": { "posX": 13.6834307, "posY": 1.57142711, "posZ": 26.9977531, "rotX": 0.257405579, "rotY": 179.99736, "rotZ": 359.988281, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 401, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7fe9d", "Name": "Card", "Transform": { "posX": -0.221981153, "posY": 1.70275962, "posZ": 16.600111, "rotX": 0.0672445446, "rotY": 180.000031, "rotZ": 0.242339656, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 416, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "744c1e", "Name": "Card", "Transform": { "posX": 6.795649, "posY": 1.69344962, "posZ": 16.7397766, "rotX": 0.0119410809, "rotY": 179.999054, "rotZ": 0.07891664, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 418, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "54a6c0", "Name": "Card", "Transform": { "posX": 14.1006975, "posY": 1.71638906, "posZ": 26.7519569, "rotX": 0.5414272, "rotY": 180.000717, "rotZ": 0.475966334, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 401, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7390a", "Name": "Card", "Transform": { "posX": 2.50973034, "posY": 1.72384942, "posZ": 26.9053955, "rotX": 0.0179477334, "rotY": 180.021774, "rotZ": 359.989624, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 404, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12811e", "Name": "Card", "Transform": { "posX": 14.1203947, "posY": 1.53835416, "posZ": 16.5084419, "rotX": 0.0151017969, "rotY": 179.999252, "rotZ": 0.07918029, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 420, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "da8077", "Name": "Card", "Transform": { "posX": -0.7377963, "posY": 1.56065607, "posZ": 21.797699, "rotX": 0.0162061863, "rotY": 180.066818, "rotZ": 0.0731087551, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 413, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4be3b0", "Name": "Card", "Transform": { "posX": -4.070091, "posY": 1.7104193, "posZ": 21.8457355, "rotX": 359.74295, "rotY": 179.997147, "rotZ": 0.5136842, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 414, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5240cf", "Name": "Card", "Transform": { "posX": 2.46611977, "posY": 1.70471072, "posZ": 22.0188541, "rotX": 0.0006968436, "rotY": 179.9881, "rotZ": 0.0401921235, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 412, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7e5108", "Name": "Card", "Transform": { "posX": 2.75252128, "posY": 1.55583858, "posZ": 21.9840183, "rotX": 0.0157414619, "rotY": 179.989441, "rotZ": 0.0765208453, "scaleX": 1.31135309, "scaleY": 1.0, "scaleZ": 1.31135309 }, "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": 412, "SidewaysCard": false, "CustomDeck": { "1": { "FaceURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143224/B528277F25C82CD0684BBCD70ECACE0EB6147697/", "BackURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143305/CF057EF2998B7BAADE59ECAB8DE4798D5CB8340E/", "NumWidth": 10, "NumHeight": 3, "BackIsHidden": false, "UniqueBack": false, "Type": 0 } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] } ] }, { "GUID": "4c39e9", "Name": "Custom_Assetbundle", "Transform": { "posX": 14.5, "posY": 1.43, "posZ": -12.250001, "rotX": 0.0170068275, "rotY": 89.98514, "rotZ": 5.048854E-05, "scaleX": 0.784739, "scaleY": 0.179815441, "scaleZ": 0.512606859 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomAssetbundle": { "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/1842538926671227154/2B2C4B6BA8D8AFCA5A141044A1A16CDD86AEEF60/", "AssetbundleSecondaryURL": "", "MaterialIndex": 0, "TypeIndex": 4, "LoopingEffectIndex": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 2.594717, "y": 0.299999863, "z": -2.42040563 }, "Rotation": { "x": -1.35021328E-05, "y": 90.01486, "z": 2.29342E-05 } }, { "Position": { "x": 2.56065488, "y": 0.299999684, "z": 2.341788 }, "Rotation": { "x": -1.35021328E-05, "y": 90.01486, "z": 2.29342E-05 } } ] }, { "GUID": "e7af12", "Name": "Custom_Assetbundle", "Transform": { "posX": -19.7499828, "posY": 1.43449867, "posZ": 12.25, "rotX": 0.0182224922, "rotY": 270.000031, "rotZ": 0.00029827634, "scaleX": 0.784739, "scaleY": 0.179815441, "scaleZ": 0.512606859 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.8509804, "g": 0.858823538, "b": 0.313697278 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomAssetbundle": { "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/1842538926671227154/2B2C4B6BA8D8AFCA5A141044A1A16CDD86AEEF60/", "AssetbundleSecondaryURL": "", "MaterialIndex": 0, "TypeIndex": 4, "LoopingEffectIndex": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 2.594717, "y": 0.299999863, "z": -2.42040563 }, "Rotation": { "x": -1.52267676E-05, "y": 270.014862, "z": 2.56649055E-05 } }, { "Position": { "x": 2.56065488, "y": 0.299999684, "z": 2.341788 }, "Rotation": { "x": -1.52267676E-05, "y": 270.014862, "z": 2.56649055E-05 } } ] }, { "GUID": "982d1c", "Name": "Custom_Assetbundle", "Transform": { "posX": 20.2499657, "posY": 1.43441677, "posZ": 12.2500019, "rotX": 359.98288, "rotY": 270.000031, "rotZ": 3.7252546E-06, "scaleX": 0.784739, "scaleY": 0.179815441, "scaleZ": 0.512606859 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.5411765, "g": 0.4391875, "b": 0.796078444 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomAssetbundle": { "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/1842538926671227154/2B2C4B6BA8D8AFCA5A141044A1A16CDD86AEEF60/", "AssetbundleSecondaryURL": "", "MaterialIndex": 0, "TypeIndex": 4, "LoopingEffectIndex": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 2.594717, "y": 0.299999863, "z": -2.42040563 }, "Rotation": { "x": -1.5542666E-05, "y": 270.014832, "z": 2.223059E-05 } }, { "Position": { "x": 2.56065488, "y": 0.299999684, "z": 2.341788 }, "Rotation": { "x": -1.55426987E-05, "y": 270.014862, "z": 2.22305953E-05 } } ] }, { "GUID": "d70071", "Name": "Custom_Assetbundle", "Transform": { "posX": -14.5, "posY": 1.43, "posZ": -12.25, "rotX": 0.0, "rotY": 90.0, "rotZ": 0.0, "scaleX": 0.78, "scaleY": 0.179815441, "scaleZ": 0.512606859 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.8784314, "g": 0.356834561, "b": 0.298011035 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomAssetbundle": { "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/1842538926671227154/2B2C4B6BA8D8AFCA5A141044A1A16CDD86AEEF60/", "AssetbundleSecondaryURL": "", "MaterialIndex": 0, "TypeIndex": 4, "LoopingEffectIndex": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 2.594717, "y": 0.299999863, "z": -2.42040563 }, "Rotation": { "x": -1.35021328E-05, "y": 90.01486, "z": 2.29342E-05 } }, { "Position": { "x": 2.56065488, "y": 0.299999684, "z": 2.341788 }, "Rotation": { "x": -1.35021328E-05, "y": 90.01486, "z": 2.29342E-05 } } ] }, { "GUID": "ac9020", "Name": "Infinite_Bag", "Transform": { "posX": 17.0, "posY": 1.45772994, "posZ": -1.00000012, "rotX": -4.12935424E-06, "rotY": 0.0234841574, "rotZ": -1.9258157E-06, "scaleX": 0.7, "scaleY": 0.7, "scaleZ": 0.7 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.3919795, "b": 0.112979494 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "1b49f9", "Name": "Custom_Model", "Transform": { "posX": 17.0760078, "posY": 3.0966568, "posZ": -1.14740682, "rotX": 351.8687, "rotY": 0.274864882, "rotZ": 355.774384, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391997635, "b": 0.112997629 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] }, { "GUID": "219821", "Name": "Bag", "Transform": { "posX": -22.0, "posY": 1.34000278, "posZ": 2.0, "rotX": -1.0005224E-07, "rotY": 0.000200309951, "rotZ": 3.73525751E-07, "scaleX": 0.699999869, "scaleY": 0.699999869, "scaleZ": 0.699999869 }, "Nickname": "Yellow Links", "Description": "", "GMNotes": "Yellow Links", "ColorDiffuse": { "r": 1.0, "g": 0.9254902, "b": 0.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "Number": 0, "Bag": { "Order": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3fd996", "Name": "Bag", "Transform": { "posX": -22.0, "posY": 1.33998334, "posZ": -1.99999917, "rotX": -3.935368E-07, "rotY": -3.10760224E-05, "rotZ": -2.024377E-06, "scaleX": 0.699999869, "scaleY": 0.699999869, "scaleZ": 0.699999869 }, "Nickname": "Orange Links", "Description": "", "GMNotes": "Orange Links", "ColorDiffuse": { "r": 0.9559999, "g": 0.391988724, "b": 0.112988733 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "Number": 0, "Bag": { "Order": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "02fb12", "Name": "Bag", "Transform": { "posX": 21.9217529, "posY": 1.33996892, "posZ": -2.01818919, "rotX": 2.80145258E-07, "rotY": 7.26374537E-06, "rotZ": -1.24030621E-05, "scaleX": 0.699999869, "scaleY": 0.699999869, "scaleZ": 0.699999869 }, "Nickname": "Teal Links", "Description": "", "GMNotes": "Teal Links", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "Number": 0, "Bag": { "Order": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0354b2", "Name": "Bag", "Transform": { "posX": 22.0, "posY": 1.34005046, "posZ": 1.999999, "rotX": 1.901192E-05, "rotY": 0.0157661512, "rotZ": 8.85885E-06, "scaleX": 0.699999869, "scaleY": 0.699999869, "scaleZ": 0.699999869 }, "Nickname": "Purple Links", "Description": "", "GMNotes": "Purple Links", "ColorDiffuse": { "r": 0.7072062, "g": 0.454045236, "b": 0.8658536 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "Number": 0, "Bag": { "Order": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e5d759", "Name": "Custom_Model_Infinite_Bag", "Transform": { "posX": -14.7516479, "posY": 1.50596845, "posZ": -0.7722845, "rotX": 0.0168253332, "rotY": 179.966858, "rotZ": 179.995514, "scaleX": 0.6554328, "scaleY": 0.8198372, "scaleZ": 0.6554328 }, "Nickname": "Bronze", "Description": "", "GMNotes": "Bronze", "ColorDiffuse": { "r": 0.9999998, "g": 0.992160261, "b": 0.9999998 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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/1839158931029135508/DEF0BF91642CF5636724CA3A37083385C810BA06/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/793127180564036984/A8D03C66908F6AF2ACCF6B0711402F76C90B6C81/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 7, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "b047f8", "Name": "Custom_Tile", "Transform": { "posX": -14.749999, "posY": 1.56852829, "posZ": -0.749994457, "rotX": 0.003364951, "rotY": 359.9871, "rotZ": 180.0009, "scaleX": 0.25, "scaleY": 1.0, "scaleZ": 0.25 }, "Nickname": "Bronze", "Description": "", "GMNotes": "Bronze", "ColorDiffuse": { "r": 0.4024308, "g": 0.290985644, "b": 0.2138314 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460737160/53C065120E91FFE543D3898A71FBAC6932595593/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 2, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] }, { "GUID": "85f55a", "Name": "Custom_Model_Infinite_Bag", "Transform": { "posX": -15.7500772, "posY": 1.50961626, "posZ": 0.7500126, "rotX": 7.30922949E-08, "rotY": 180.0, "rotZ": 180.0, "scaleX": 0.7246458, "scaleY": 0.906411052, "scaleZ": 0.7246458 }, "Nickname": "Silver", "Description": "", "GMNotes": "Silver", "ColorDiffuse": { "r": 0.9999998, "g": 0.992160261, "b": 0.9999998 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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/1839158931029135508/DEF0BF91642CF5636724CA3A37083385C810BA06/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/793127180564022664/7F5A78E376AF72F49022CCED5FDAA6417C45CA5C/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 7, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "1e2881", "Name": "Custom_Tile", "Transform": { "posX": -15.7499971, "posY": 1.57732618, "posZ": 0.250000715, "rotX": 0.000127855659, "rotY": 359.959534, "rotZ": 180.000381, "scaleX": 0.3, "scaleY": 1.0, "scaleZ": 0.3 }, "Nickname": "Silver", "Description": "", "GMNotes": "Silver", "ColorDiffuse": { "r": 0.626494765, "g": 0.7365696, "b": 0.862369359 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460735461/EFEE1B42AD448F77EE91EA02154E6770B2CC10F6/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 2, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] }, { "GUID": "3e9524", "Name": "Custom_Model_Infinite_Bag", "Transform": { "posX": -13.7417965, "posY": 1.51821434, "posZ": 0.7660265, "rotX": 359.988861, "rotY": 180.041321, "rotZ": 180.005966, "scaleX": 0.886142731, "scaleY": 1.10841668, "scaleZ": 0.886142731 }, "Nickname": "Gold", "Description": "", "GMNotes": "Gold", "ColorDiffuse": { "r": 0.9999998, "g": 0.992160261, "b": 0.9999998 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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/1839158931029135508/DEF0BF91642CF5636724CA3A37083385C810BA06/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/793127180564040049/3AE1B5E974BBDD6EECDCB884A560A4A415E98C7A/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 7, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "ba42ff", "Name": "Custom_Tile", "Transform": { "posX": -13.7500019, "posY": 1.59797359, "posZ": 0.7499963, "rotX": -0.00222618529, "rotY": 0.0413350873, "rotZ": 179.99881, "scaleX": 0.4, "scaleY": 1.0, "scaleZ": 0.4 }, "Nickname": "Gold", "Description": "", "GMNotes": "Gold", "ColorDiffuse": { "r": 0.827526033, "g": 0.7296775, "b": 0.448363423 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460731955/529EF7E21EFF215D61709CE5000DD4717E68D5D7/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 2, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] }, { "GUID": "24b3dc", "Name": "ScriptingTrigger", "Transform": { "posX": 13.25, "posY": 1.61, "posZ": -14.2007446, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.39, "scaleY": 0.24, "scaleZ": 3.54 }, "Nickname": "Teal Discard Pile (Left)", "Description": "", "GMNotes": "Teal Discard Pile (Left)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2e028e", "Name": "ScriptingTrigger", "Transform": { "posX": -15.75, "posY": 1.61, "posZ": -14.21, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.38890839, "scaleY": 0.24, "scaleZ": 3.54 }, "Nickname": "Orange Discard Pile (Left)", "Description": "", "GMNotes": "Orange Discard Pile (Left)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "282c08", "Name": "ScriptingTrigger", "Transform": { "posX": -20.97281, "posY": 1.60806453, "posZ": 14.1948462, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.38890839, "scaleY": 0.24, "scaleZ": 3.542886 }, "Nickname": "Yellow Discard Pile (Left)", "Description": "", "GMNotes": "Yellow Discard Pile (Left)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "59dfbc", "Name": "ScriptingTrigger", "Transform": { "posX": 18.9885712, "posY": 1.60873842, "posZ": 14.1959915, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.39, "scaleY": 0.24, "scaleZ": 3.542886 }, "Nickname": "Purple Discard Pile (Left)", "Description": "", "GMNotes": "Purple Discard Pile (Left)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6c9ecf", "Name": "ScriptingTrigger", "Transform": { "posX": -13.25, "posY": 1.61, "posZ": -14.2, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.38890839, "scaleY": 0.24, "scaleZ": 3.54 }, "Nickname": "Orange Discard Pile (Right)", "Description": "", "GMNotes": "Orange Discard Pile (Right)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a894b0", "Name": "ScriptingTrigger", "Transform": { "posX": 15.75, "posY": 1.60798573, "posZ": -14.1957169, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.39, "scaleY": 0.24, "scaleZ": 3.54 }, "Nickname": "Teal Discard Pile (Right)", "Description": "", "GMNotes": "Teal Discard Pile (Right)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "03e3a4", "Name": "ScriptingTrigger", "Transform": { "posX": 21.4901428, "posY": 1.607991, "posZ": 14.1981668, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.39, "scaleY": 0.24, "scaleZ": 3.54 }, "Nickname": "Purple Discard Pile (Right)", "Description": "", "GMNotes": "Purple Discard Pile (Right)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "df91cf", "Name": "ScriptingTrigger", "Transform": { "posX": -18.4840183, "posY": 1.60885608, "posZ": 14.2100878, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 2.38890839, "scaleY": 0.24, "scaleZ": 3.54 }, "Nickname": "Yellow Discard Pile (Right)", "Description": "", "GMNotes": "Yellow Discard Pile (Right)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "753c24", "Name": "Custom_Model", "Transform": { "posX": -11.242918, "posY": 1.60729551, "posZ": -1.62001193, "rotX": 0.172888249, "rotY": 359.931976, "rotZ": 0.187522173, "scaleX": 0.25, "scaleY": 0.1, "scaleZ": 0.25 }, "Nickname": "Yellow Income Marker", "Description": "", "GMNotes": "Yellow Income Marker", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.24702251 }, "Tags": [ "income_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/966471447497603343/CDD6C9A2EA36162A210730E3155710953FFFD952/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b1dbec", "Name": "Custom_Model", "Transform": { "posX": -11.2483759, "posY": 1.70936251, "posZ": -1.617311, "rotX": 0.1294662, "rotY": 359.8945, "rotZ": 0.0597957, "scaleX": 0.25, "scaleY": 0.1, "scaleZ": 0.25 }, "Nickname": "Teal Income Marker", "Description": "", "GMNotes": "Teal Income Marker", "ColorDiffuse": { "r": 0.7921569, "g": 0.858823538, "b": 0.8627451 }, "Tags": [ "income_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/966471447497603343/CDD6C9A2EA36162A210730E3155710953FFFD952/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "479c68", "Name": "Custom_Model", "Transform": { "posX": -11.2501183, "posY": 1.91356981, "posZ": -1.60747659, "rotX": 359.912872, "rotY": 89.77961, "rotZ": 180.231476, "scaleX": 0.25, "scaleY": 0.1, "scaleZ": 0.25 }, "Nickname": "Purple Income Marker", "Description": "", "GMNotes": "Purple Income Marker", "ColorDiffuse": { "r": 0.5490196, "g": 0.4470588, "b": 0.796078444 }, "Tags": [ "income_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/966471447497603343/CDD6C9A2EA36162A210730E3155710953FFFD952/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "42742a", "Name": "Custom_Model", "Transform": { "posX": -11.2458248, "posY": 1.60844612, "posZ": -1.6149497, "rotX": 0.07348098, "rotY": 180.019943, "rotZ": 179.911743, "scaleX": 0.25, "scaleY": 0.1, "scaleZ": 0.25 }, "Nickname": "Orange Income Marker", "Description": "", "GMNotes": "Orange Income Marker", "ColorDiffuse": { "r": 0.8784314, "g": 0.443123162, "b": 0.30194667 }, "Tags": [ "income_marker" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/966471447497603343/CDD6C9A2EA36162A210730E3155710953FFFD952/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a40e5c", "Name": "Custom_Model_Bag", "Transform": { "posX": 14.0, "posY": 1.5778625, "posZ": -8.19831E-10, "rotX": -3.6350233E-08, "rotY": 179.999374, "rotZ": 7.406441E-07, "scaleX": 1.25, "scaleY": 1.25, "scaleZ": 1.25 }, "Nickname": "Removed from Game", "Description": "", "GMNotes": "Removed from Game", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "Number": 0, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/1839158931029143156/BFF258FC90A0E56581C5C302752CF67C4947A540/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1502467941174865405/F21AAA35FD74B3B6AD17B6146035DBB908744ED7/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 6, "CustomShader": { "SpecularColor": { "r": 0.09794083, "g": 0.09794083, "b": 0.09794083 }, "SpecularIntensity": 3.0, "SpecularSharpness": 7.0333333, "FresnelStrength": 0.316666663 }, "CastShadows": true }, "Bag": { "Order": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": -0.0198343713, "y": 0.0865869746, "z": -0.03991696 } } ] }, { "GUID": "2b73b5", "Name": "Custom_Tile", "Transform": { "posX": 1.49809706, "posY": 1.76739109, "posZ": 29.5173054, "rotX": 359.825745, "rotY": 180.262665, "rotZ": 359.84436, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443129838, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "55d291", "Name": "Custom_Tile", "Transform": { "posX": 28.23473, "posY": 1.46963012, "posZ": 1.47876251, "rotX": -4.514971E-07, "rotY": 179.9983, "rotZ": 1.645947E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.4431338, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "5b8510", "Name": "Custom_Tile", "Transform": { "posX": -29.6341763, "posY": 1.57059669, "posZ": 9.436537, "rotX": 1.36080232E-07, "rotY": 179.999985, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "34d4b6", "Name": "Custom_Tile", "Transform": { "posX": -29.48536, "posY": 1.57059669, "posZ": 9.95360851, "rotX": -1.63758959E-05, "rotY": 180.171982, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa007", "Name": "Custom_Tile", "Transform": { "posX": 28.23473, "posY": 1.46963012, "posZ": 1.47876251, "rotX": -4.514971E-07, "rotY": 179.9983, "rotZ": 1.645947E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.4431338, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "4b7d6f", "Name": "Custom_Tile", "Transform": { "posX": -29.9454536, "posY": 1.57059669, "posZ": 4.30146, "rotX": 1.092213E-08, "rotY": 180.000015, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "2bd601", "Name": "Custom_Tile", "Transform": { "posX": -29.7207241, "posY": 1.57059669, "posZ": 4.863211, "rotX": 9.19557852E-09, "rotY": 180.000015, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "7cc957", "Name": "Custom_Tile", "Transform": { "posX": -29.8461781, "posY": 1.57059669, "posZ": 5.614671, "rotX": -2.156754E-07, "rotY": 180.0, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "7b9e2c", "Name": "Custom_Tile", "Transform": { "posX": -29.6603661, "posY": 1.57059669, "posZ": 6.1837635, "rotX": 9.803997E-06, "rotY": 180.012054, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "f866f0", "Name": "Custom_Tile", "Transform": { "posX": -29.77778, "posY": 1.57059669, "posZ": 6.81037235, "rotX": 1.74662773E-07, "rotY": 180.000061, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "0a3912", "Name": "Custom_Tile", "Transform": { "posX": -29.6529846, "posY": 1.57059669, "posZ": 7.44253635, "rotX": 1.60447868E-07, "rotY": 180.000061, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "cdf94a", "Name": "Custom_Tile", "Transform": { "posX": -29.7784386, "posY": 1.57059669, "posZ": 8.19399452, "rotX": 2.78040119E-07, "rotY": 180.000046, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "1c9180", "Name": "Custom_Tile", "Transform": { "posX": -29.553709, "posY": 1.57059669, "posZ": 8.755747, "rotX": 1.40472252E-07, "rotY": 180.000061, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Railway", "GMNotes": "Purple Railway", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460998536/A91C1F1A218FEB96BC71A98F83FE1121011FD37B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "b8d1b6", "Name": "Custom_Tile", "Transform": { "posX": -1.49740791, "posY": 1.66789889, "posZ": 29.4923573, "rotX": 0.120509364, "rotY": 180.248291, "rotZ": 0.09528317, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.7921569, "g": 0.858823538, "b": 0.8627451 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "b3b366", "Name": "Custom_Tile", "Transform": { "posX": 25.85923, "posY": 1.56963038, "posZ": -0.988040149, "rotX": -5.693374E-07, "rotY": 179.998734, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.4392122, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "a3f4be", "Name": "Custom_Tile", "Transform": { "posX": -28.3988914, "posY": 1.57059574, "posZ": 9.214216, "rotX": 0.0553147048, "rotY": 179.733032, "rotZ": 179.99968, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "7f19f3", "Name": "Custom_Tile", "Transform": { "posX": -28.261919, "posY": 1.570597, "posZ": 9.615518, "rotX": 359.9448, "rotY": 180.101746, "rotZ": 180.000381, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa004", "Name": "Custom_Tile", "Transform": { "posX": 25.85923, "posY": 1.56963038, "posZ": -0.988040149, "rotX": -5.693374E-07, "rotY": 179.998734, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.4392122, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "6a54d3", "Name": "Custom_Tile", "Transform": { "posX": -28.44868, "posY": 1.57059669, "posZ": 4.24847174, "rotX": 6.176111E-08, "rotY": 180.00766, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "32d5b5", "Name": "Custom_Tile", "Transform": { "posX": -28.322361, "posY": 1.57059669, "posZ": 4.83331156, "rotX": -1.36551961E-07, "rotY": 180.007721, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "d85e31", "Name": "Custom_Tile", "Transform": { "posX": -28.3709087, "posY": 1.57059669, "posZ": 5.53222275, "rotX": -7.77055E-08, "rotY": 179.976273, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "bb2532", "Name": "Custom_Tile", "Transform": { "posX": -28.2424088, "posY": 1.57059669, "posZ": 5.983337, "rotX": 1.39513674E-07, "rotY": 180.165375, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "a6e252", "Name": "Custom_Tile", "Transform": { "posX": -28.2825279, "posY": 1.57059669, "posZ": 6.58109856, "rotX": 3.22508981E-07, "rotY": 180.00769, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "c5ee73", "Name": "Custom_Tile", "Transform": { "posX": -28.42875, "posY": 1.57059669, "posZ": 7.29774475, "rotX": 2.23304166E-08, "rotY": 180.00769, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "4f62a8", "Name": "Custom_Tile", "Transform": { "posX": -28.47743, "posY": 1.57059669, "posZ": 7.9962163, "rotX": 1.750554E-07, "rotY": 180.00766, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "eec7a0", "Name": "Custom_Tile", "Transform": { "posX": -28.35111, "posY": 1.57059669, "posZ": 8.581057, "rotX": 5.09172935E-08, "rotY": 180.00769, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Canal", "GMNotes": "Teal Canal", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993538/67263744174818602E0B42E51D40526A3A6C17E9/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "ea9667", "Name": "Custom_Tile", "Transform": { "posX": 1.49961948, "posY": 1.66792, "posZ": 29.5116787, "rotX": 359.864227, "rotY": 180.3144, "rotZ": 359.887726, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.7921569, "g": 0.858823538, "b": 0.8627451 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "5a4ec8", "Name": "Custom_Tile", "Transform": { "posX": 27.3876, "posY": 1.46963048, "posZ": -1.04074037, "rotX": 1.04609747E-07, "rotY": 180.0, "rotZ": 2.84601441E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.4392122, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "a3f4be", "Name": "Custom_Tile", "Transform": { "posX": -28.3988914, "posY": 1.57059574, "posZ": 9.214216, "rotX": 0.0553147048, "rotY": 179.733032, "rotZ": 179.99968, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "7f19f3", "Name": "Custom_Tile", "Transform": { "posX": -28.261919, "posY": 1.570597, "posZ": 9.615518, "rotX": 359.9448, "rotY": 180.101746, "rotZ": 180.000381, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa005", "Name": "Custom_Tile", "Transform": { "posX": 27.3876, "posY": 1.46963048, "posZ": -1.04074037, "rotX": 1.04609747E-07, "rotY": 180.0, "rotZ": 2.84601441E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.4392122, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "6a54d3", "Name": "Custom_Tile", "Transform": { "posX": -28.44868, "posY": 1.57059669, "posZ": 4.24847174, "rotX": 6.176111E-08, "rotY": 180.00766, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "32d5b5", "Name": "Custom_Tile", "Transform": { "posX": -28.322361, "posY": 1.57059669, "posZ": 4.83331156, "rotX": -1.36551961E-07, "rotY": 180.007721, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "d85e31", "Name": "Custom_Tile", "Transform": { "posX": -28.3709087, "posY": 1.57059669, "posZ": 5.53222275, "rotX": -7.77055E-08, "rotY": 179.976273, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "bb2532", "Name": "Custom_Tile", "Transform": { "posX": -28.2424088, "posY": 1.57059669, "posZ": 5.983337, "rotX": 1.39513674E-07, "rotY": 180.165375, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "a6e252", "Name": "Custom_Tile", "Transform": { "posX": -28.2825279, "posY": 1.57059669, "posZ": 6.58109856, "rotX": 3.22508981E-07, "rotY": 180.00769, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "c5ee73", "Name": "Custom_Tile", "Transform": { "posX": -28.42875, "posY": 1.57059669, "posZ": 7.29774475, "rotX": 2.23304166E-08, "rotY": 180.00769, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "4f62a8", "Name": "Custom_Tile", "Transform": { "posX": -28.47743, "posY": 1.57059669, "posZ": 7.9962163, "rotX": 1.750554E-07, "rotY": 180.00766, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "eec7a0", "Name": "Custom_Tile", "Transform": { "posX": -28.35111, "posY": 1.57059669, "posZ": 8.581057, "rotX": 5.09172935E-08, "rotY": 180.00769, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Teal Railway", "GMNotes": "Teal Railway", "ColorDiffuse": { "r": 0.439212561, "g": 0.768627465, "b": 0.721568644 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460999167/DE363AFC913B8B8331804D15A8868862BA584DB3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "e808b2", "Name": "Custom_Tile", "Transform": { "posX": -1.49946666, "posY": 1.46946418, "posZ": 29.49926, "rotX": 0.0154820047, "rotY": 180.0324, "rotZ": 0.0267347153, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243130147 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "d427a4", "Name": "Custom_Tile", "Transform": { "posX": -26.9323139, "posY": 1.56962991, "posZ": 1.544671, "rotX": -9.613598E-07, "rotY": 180.000015, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243133664 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "83551f", "Name": "Custom_Tile", "Transform": { "posX": -25.0645885, "posY": 1.57059669, "posZ": 9.410809, "rotX": -1.09006365E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "060c2d", "Name": "Custom_Tile", "Transform": { "posX": -24.999094, "posY": 1.57059669, "posZ": 10.066184, "rotX": 4.040803E-07, "rotY": 179.98941, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa000", "Name": "Custom_Tile", "Transform": { "posX": -26.9323139, "posY": 1.56962991, "posZ": 1.544671, "rotX": -9.613598E-07, "rotY": 180.000015, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243133664 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "b0474b", "Name": "Custom_Tile", "Transform": { "posX": -25.75804, "posY": 1.57059669, "posZ": 3.4420352, "rotX": -3.7228466E-07, "rotY": 179.989456, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "d6abb3", "Name": "Custom_Tile", "Transform": { "posX": -25.5784626, "posY": 1.57059669, "posZ": 4.622808, "rotX": -4.884251E-07, "rotY": 179.989456, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "695bd5", "Name": "Custom_Tile", "Transform": { "posX": -25.5113945, "posY": 1.57059669, "posZ": 5.270701, "rotX": -2.60839357E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "e0a7b6", "Name": "Custom_Tile", "Transform": { "posX": -25.4538918, "posY": 1.57059669, "posZ": 6.04877138, "rotX": -1.32262869E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "d3627d", "Name": "Custom_Tile", "Transform": { "posX": -25.3788319, "posY": 1.57059669, "posZ": 6.57396936, "rotX": -1.14996823E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "120e8a", "Name": "Custom_Tile", "Transform": { "posX": -25.3112335, "posY": 1.57059669, "posZ": 7.582143, "rotX": -1.80814368E-07, "rotY": 179.989487, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "707abe", "Name": "Custom_Tile", "Transform": { "posX": -25.2441654, "posY": 1.57059669, "posZ": 8.230036, "rotX": -3.14448641E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "9c281c", "Name": "Custom_Tile", "Transform": { "posX": -25.1316566, "posY": 1.57059669, "posZ": 8.762916, "rotX": -3.19893559E-07, "rotY": 179.98941, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Canal", "GMNotes": "Yellow Canal", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460992600/6C13B277AAB4121D49A81F6FCB8AAD854D3841A4/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "80c4b1", "Name": "Custom_Tile", "Transform": { "posX": 1.500483, "posY": 1.46942031, "posZ": 29.5003986, "rotX": 0.01770272, "rotY": 180.055725, "rotZ": 0.0335163921, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243130147 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "b26d34", "Name": "Custom_Tile", "Transform": { "posX": -25.4180546, "posY": 1.46962988, "posZ": 1.488553, "rotX": -1.00197576E-06, "rotY": 180.000122, "rotZ": -6.49725749E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134111 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "83551f", "Name": "Custom_Tile", "Transform": { "posX": -25.0645885, "posY": 1.57059669, "posZ": 9.410809, "rotX": -1.09006365E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "060c2d", "Name": "Custom_Tile", "Transform": { "posX": -24.999094, "posY": 1.57059669, "posZ": 10.066184, "rotX": 4.040803E-07, "rotY": 179.98941, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa001", "Name": "Custom_Tile", "Transform": { "posX": -25.4180546, "posY": 1.46962988, "posZ": 1.488553, "rotX": -1.00197576E-06, "rotY": 180.000122, "rotZ": -6.49725749E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134111 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "b0474b", "Name": "Custom_Tile", "Transform": { "posX": -25.75804, "posY": 1.57059669, "posZ": 3.4420352, "rotX": -3.7228466E-07, "rotY": 179.989456, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "d6abb3", "Name": "Custom_Tile", "Transform": { "posX": -25.5784626, "posY": 1.57059669, "posZ": 4.622808, "rotX": -4.884251E-07, "rotY": 179.989456, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "695bd5", "Name": "Custom_Tile", "Transform": { "posX": -25.5113945, "posY": 1.57059669, "posZ": 5.270701, "rotX": -2.60839357E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "e0a7b6", "Name": "Custom_Tile", "Transform": { "posX": -25.4538918, "posY": 1.57059669, "posZ": 6.04877138, "rotX": -1.32262869E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "d3627d", "Name": "Custom_Tile", "Transform": { "posX": -25.3788319, "posY": 1.57059669, "posZ": 6.57396936, "rotX": -1.14996823E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "120e8a", "Name": "Custom_Tile", "Transform": { "posX": -25.3112335, "posY": 1.57059669, "posZ": 7.582143, "rotX": -1.80814368E-07, "rotY": 179.989487, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "707abe", "Name": "Custom_Tile", "Transform": { "posX": -25.2441654, "posY": 1.57059669, "posZ": 8.230036, "rotX": -3.14448641E-07, "rotY": 179.989441, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "9c281c", "Name": "Custom_Tile", "Transform": { "posX": -25.1316566, "posY": 1.57059669, "posZ": 8.762916, "rotX": -3.19893559E-07, "rotY": 179.98941, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Yellow Railway", "GMNotes": "Yellow Railway", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243134141 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997864/BC1407C0369F6E68EA58301AB8F352E119C232E5/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "d319a0", "Name": "Custom_Tile", "Transform": { "posX": -1.49815071, "posY": 1.5682559, "posZ": 29.4928513, "rotX": 0.2530069, "rotY": 180.149826, "rotZ": 0.0820855, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.3607769, "b": 0.301953375 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "5bfd47", "Name": "Custom_Tile", "Transform": { "posX": -26.8349838, "posY": 1.46962988, "posZ": -0.8267283, "rotX": 9.378423E-07, "rotY": 180.000366, "rotZ": 1.88276744E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360780865, "b": 0.301957339 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "966a63", "Name": "Custom_Tile", "Transform": { "posX": -26.5755539, "posY": 1.4706018, "posZ": 9.165198, "rotX": 0.000396801857, "rotY": 180.023743, "rotZ": 0.00102971925, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "b76494", "Name": "Custom_Tile", "Transform": { "posX": -26.6299267, "posY": 1.52188575, "posZ": 9.548954, "rotX": 345.139, "rotY": 179.984833, "rotZ": 0.00024630304, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa002", "Name": "Custom_Tile", "Transform": { "posX": -26.8349838, "posY": 1.46962988, "posZ": -0.8267283, "rotX": 9.378423E-07, "rotY": 180.000366, "rotZ": 1.88276744E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360780865, "b": 0.301957339 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "17a35e", "Name": "Custom_Tile", "Transform": { "posX": -26.941761, "posY": 1.47059679, "posZ": 4.208988, "rotX": 7.230054E-08, "rotY": 179.999924, "rotZ": -6.180757E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "79585e", "Name": "Custom_Tile", "Transform": { "posX": -26.83209, "posY": 1.47059679, "posZ": 4.72634125, "rotX": 2.01024079E-07, "rotY": 179.999924, "rotZ": -8.08522E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "927513", "Name": "Custom_Tile", "Transform": { "posX": -26.794014, "posY": 1.47059679, "posZ": 5.3858695, "rotX": 2.87734E-07, "rotY": 180.038, "rotZ": 1.593775E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "c04234", "Name": "Custom_Tile", "Transform": { "posX": -26.8554173, "posY": 1.47059679, "posZ": 5.879202, "rotX": -1.04592431E-07, "rotY": 179.8441, "rotZ": 2.04800273E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "9e7edc", "Name": "Custom_Tile", "Transform": { "posX": -26.8100147, "posY": 1.47059679, "posZ": 6.436479, "rotX": -1.02252137E-07, "rotY": 179.999924, "rotZ": -1.89341037E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "3fab55", "Name": "Custom_Tile", "Transform": { "posX": -26.7615433, "posY": 1.47059679, "posZ": 7.329569, "rotX": 1.74878082E-07, "rotY": 179.999924, "rotZ": 5.10975227E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "d45fb2", "Name": "Custom_Tile", "Transform": { "posX": -26.7233047, "posY": 1.47059679, "posZ": 7.988558, "rotX": -7.93753543E-08, "rotY": 179.999924, "rotZ": 2.184974E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "e4c1b7", "Name": "Custom_Tile", "Transform": { "posX": -26.6136341, "posY": 1.47059679, "posZ": 8.505911, "rotX": 2.71338649E-07, "rotY": 179.999878, "rotZ": 1.66745451E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Canal", "GMNotes": "Orange Canal", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460989303/6BA6527FE1750A23D5B8D2E46931B03CAFDCD46A/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "5cd3b7", "Name": "Custom_Tile", "Transform": { "posX": 1.4997673, "posY": 1.56818306, "posZ": 29.5073757, "rotX": 359.8972, "rotY": 180.1379, "rotZ": 359.933075, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.3607769, "b": 0.301953375 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "3a5754", "Name": "Custom_Tile", "Transform": { "posX": -25.1343975, "posY": 1.56963, "posZ": -0.8759781, "rotX": 2.5355755E-06, "rotY": 179.997147, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360780865, "b": 0.301957339 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "966a63", "Name": "Custom_Tile", "Transform": { "posX": -26.5755539, "posY": 1.4706018, "posZ": 9.165198, "rotX": 0.000396801857, "rotY": 180.023743, "rotZ": 0.00102971925, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "b76494", "Name": "Custom_Tile", "Transform": { "posX": -26.6299267, "posY": 1.52188575, "posZ": 9.548954, "rotX": 345.139, "rotY": 179.984833, "rotZ": 0.00024630304, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa003", "Name": "Custom_Tile", "Transform": { "posX": -25.1343975, "posY": 1.56963, "posZ": -0.8759781, "rotX": 2.5355755E-06, "rotY": 179.997147, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360780865, "b": 0.301957339 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "17a35e", "Name": "Custom_Tile", "Transform": { "posX": -26.941761, "posY": 1.47059679, "posZ": 4.208988, "rotX": 7.230054E-08, "rotY": 179.999924, "rotZ": -6.180757E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "79585e", "Name": "Custom_Tile", "Transform": { "posX": -26.83209, "posY": 1.47059679, "posZ": 4.72634125, "rotX": 2.01024079E-07, "rotY": 179.999924, "rotZ": -8.08522E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "927513", "Name": "Custom_Tile", "Transform": { "posX": -26.794014, "posY": 1.47059679, "posZ": 5.3858695, "rotX": 2.87734E-07, "rotY": 180.038, "rotZ": 1.593775E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "c04234", "Name": "Custom_Tile", "Transform": { "posX": -26.8554173, "posY": 1.47059679, "posZ": 5.879202, "rotX": -1.04592431E-07, "rotY": 179.8441, "rotZ": 2.04800273E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "9e7edc", "Name": "Custom_Tile", "Transform": { "posX": -26.8100147, "posY": 1.47059679, "posZ": 6.436479, "rotX": -1.02252137E-07, "rotY": 179.999924, "rotZ": -1.89341037E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "3fab55", "Name": "Custom_Tile", "Transform": { "posX": -26.7615433, "posY": 1.47059679, "posZ": 7.329569, "rotX": 1.74878082E-07, "rotY": 179.999924, "rotZ": 5.10975227E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "d45fb2", "Name": "Custom_Tile", "Transform": { "posX": -26.7233047, "posY": 1.47059679, "posZ": 7.988558, "rotX": -7.93753543E-08, "rotY": 179.999924, "rotZ": 2.184974E-08, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "e4c1b7", "Name": "Custom_Tile", "Transform": { "posX": -26.6136341, "posY": 1.47059679, "posZ": 8.505911, "rotX": 2.71338649E-07, "rotY": 179.999878, "rotZ": 1.66745451E-07, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Orange Railway", "GMNotes": "Orange Railway", "ColorDiffuse": { "r": 0.8784314, "g": 0.360781223, "b": 0.301957726 }, "Tags": [ "link_rail" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460997229/2F177D6959B9CEE7092E4333A36F1C64A5FECC59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "3026c3", "Name": "Custom_Tile", "Transform": { "posX": -1.49488461, "posY": 1.76737332, "posZ": 29.4872, "rotX": 0.207489878, "rotY": 180.126312, "rotZ": 0.116558246, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443129927, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "States": { "1": { "GUID": "4e4187", "Name": "Custom_Tile", "Transform": { "posX": 25.9937725, "posY": 1.56963, "posZ": 1.42642319, "rotX": -7.30556053E-07, "rotY": 180.000259, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.4431338, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "1", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "10": { "GUID": "5b8510", "Name": "Custom_Tile", "Transform": { "posX": -29.6341763, "posY": 1.57059669, "posZ": 9.436537, "rotX": 1.36080232E-07, "rotY": 179.999985, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "10", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "2": { "GUID": "4b7d6f", "Name": "Custom_Tile", "Transform": { "posX": -29.9454536, "posY": 1.57059669, "posZ": 4.30146, "rotX": 1.092213E-08, "rotY": 180.000015, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "2", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "3": { "GUID": "2bd601", "Name": "Custom_Tile", "Transform": { "posX": -29.7207241, "posY": 1.57059669, "posZ": 4.863211, "rotX": 9.19557852E-09, "rotY": 180.000015, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "3", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "4": { "GUID": "7cc957", "Name": "Custom_Tile", "Transform": { "posX": -29.8461781, "posY": 1.57059669, "posZ": 5.614671, "rotX": -2.156754E-07, "rotY": 180.0, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "4", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "5": { "GUID": "7b9e2c", "Name": "Custom_Tile", "Transform": { "posX": -29.6603661, "posY": 1.57059669, "posZ": 6.1837635, "rotX": 9.803997E-06, "rotY": 180.012054, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "5", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "6": { "GUID": "f866f0", "Name": "Custom_Tile", "Transform": { "posX": -29.77778, "posY": 1.57059669, "posZ": 6.81037235, "rotX": 1.74662773E-07, "rotY": 180.000061, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "6", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "7": { "GUID": "0a3912", "Name": "Custom_Tile", "Transform": { "posX": -29.6529846, "posY": 1.57059669, "posZ": 7.44253635, "rotX": 1.60447868E-07, "rotY": 180.000061, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "7", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "8": { "GUID": "cdf94a", "Name": "Custom_Tile", "Transform": { "posX": -29.7784386, "posY": 1.57059669, "posZ": 8.19399452, "rotX": 2.78040119E-07, "rotY": 180.000046, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "8", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "9": { "GUID": "1c9180", "Name": "Custom_Tile", "Transform": { "posX": -29.553709, "posY": 1.57059669, "posZ": 8.755747, "rotX": 1.40472252E-07, "rotY": 180.000061, "rotZ": 180.0, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134159, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "9", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "11": { "GUID": "34d4b6", "Name": "Custom_Tile", "Transform": { "posX": -1.499826, "posY": 1.76738846, "posZ": 31.000124, "rotX": 359.8694, "rotY": 180.001953, "rotZ": 0.0719777, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443134129, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "11", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, "12": { "GUID": "aaa006", "Name": "Custom_Tile", "Transform": { "posX": -1.49981308, "posY": 1.76738894, "posZ": 31.0001736, "rotX": 359.868439, "rotY": 180.001556, "rotZ": 0.07192879, "scaleX": 0.2, "scaleY": 1.0, "scaleZ": 0.2 }, "Nickname": "Points", "Description": "Purple Canal", "GMNotes": "Purple Canal", "ColorDiffuse": { "r": 0.545097947, "g": 0.443133652, "b": 0.796078444 }, "Tags": [ "link_canal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": false, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257460993017/38DD57E5A8447B0A6C5D66C5D3C8133BE8E41E89/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "12", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] } }, "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } ] }, { "GUID": "be6906", "Name": "Custom_Assetbundle", "Transform": { "posX": 0.5, "posY": 1.71962988, "posZ": 37.5, "rotX": 0.0, "rotY": 0.0005334008, "rotZ": -1.30328522E-06, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Sound Effects", "Description": "", "GMNotes": "Sound Effects", "ColorDiffuse": { "r": 0.956862748, "g": 0.388228863, "b": 0.10979747 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": false, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomAssetbundle": { "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/778484758094767424/7B9E3F5416E3E303ED217CF7FDC40DA4C4A94533/", "AssetbundleSecondaryURL": "", "MaterialIndex": 0, "TypeIndex": 0, "LoopingEffectIndex": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b1585e", "Name": "BlockSquare", "Transform": { "posX": 1.81270835E-07, "posY": 1.35, "posZ": 0.0, "rotX": -1.45459956E-06, "rotY": 2.325355E-06, "rotZ": 3.109285E-06, "scaleX": 24.0, "scaleY": 0.125, "scaleZ": 24.0 }, "Nickname": "Game Board Area", "Description": "", "GMNotes": "Game Board Area", "ColorDiffuse": { "r": 0.635294139, "g": 0.75686276, "b": 0.894117653 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": false, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "44828f", "Name": "Custom_Assetbundle", "Transform": { "posX": -0.500000834, "posY": 1.71962988, "posZ": 37.5, "rotX": 0.0, "rotY": -0.00067389477, "rotZ": 7.370406E-06, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Brass Sound Cube", "Description": "", "GMNotes": "Brass Sound Cube", "ColorDiffuse": { "r": 0.2431308, "g": 0.2431308, "b": 0.2431308 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": false, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomAssetbundle": { "AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/1666860048190814365/4CEB8FE2ACD49C9858CA47792B8212DD9CA3D731/", "AssetbundleSecondaryURL": "", "MaterialIndex": 1, "TypeIndex": 0, "LoopingEffectIndex": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4ee1f2", "Name": "Custom_Model", "Transform": { "posX": 0.0100585781, "posY": 1.30379224, "posZ": -0.00272129313, "rotX": 359.914063, "rotY": -0.00019350175, "rotZ": 0.0242303051, "scaleX": 0.65, "scaleY": 0.02, "scaleZ": 0.65 }, "Nickname": "Game Board", "Description": "", "GMNotes": "Game Board", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": false, "Snap": false, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": false, "Sticky": false, "Tooltip": false, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomMesh": { "MeshURL": "http://cloud-3.steamusercontent.com/ugc/987863257458518028/CEE2F8E7B56A47085522C3BAE37C5ADF6C0043AF/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143795/4933BAFEA3A4A5964B2A0AB8B7252AAD7E06E93C/", "NormalURL": "", "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/987863257458518028/CEE2F8E7B56A47085522C3BAE37C5ADF6C0043AF/", "Convex": true, "MaterialIndex": 1, "TypeIndex": 4, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 7.83550358, "y": 10.4450083, "z": -12.9338875 }, "Rotation": { "x": 1.63178956E-05, "y": 180.016159, "z": 1.55210182E-05 }, "Tags": [ "cotton_mill" ] }, { "Position": { "x": 9.544754, "y": 10.4586563, "z": -12.9276543 }, "Rotation": { "x": 1.99616043E-05, "y": 180.026245, "z": 1.66499685E-05 }, "Tags": [ "cotton_mill" ] }, { "Position": { "x": 10.6722746, "y": 10.4517994, "z": -10.05439 }, "Rotation": { "x": 1.8209912E-05, "y": 180.016327, "z": 1.97507452E-05 }, "Tags": [ "cotton_mill" ] }, { "Position": { "x": 12.381525, "y": 10.4626131, "z": -10.0481567 }, "Rotation": { "x": 1.81738724E-05, "y": 180.026184, "z": 1.72065629E-05 }, "Tags": [ "cotton_mill" ] }, { "Position": { "x": 9.045298, "y": 10.47424, "z": -5.736047 }, "Rotation": { "x": 1.82347248E-05, "y": 180.026047, "z": 1.32647956E-05 }, "Tags": [ "iron", "iron_works" ] }, { "Position": { "x": 7.33604527, "y": 10.4884758, "z": -5.742281 }, "Rotation": { "x": 2.06782443E-05, "y": 180.016281, "z": 1.705099E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 7.33082867, "y": 10.4791994, "z": -4.06388 }, "Rotation": { "x": 1.90429382E-05, "y": 180.016281, "z": 1.3268791E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 9.040077, "y": 10.5308857, "z": -4.057645 }, "Rotation": { "x": 1.75098776E-05, "y": 180.026077, "z": 1.1673108E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 12.5728779, "y": 10.4334154, "z": -4.101039 }, "Rotation": { "x": 1.46952843E-05, "y": 180.016373, "z": 1.60755462E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 14.2821245, "y": 10.4555655, "z": -4.09480333 }, "Rotation": { "x": 1.490018E-05, "y": 180.026047, "z": 1.83665743E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 14.5641432, "y": 10.4691982, "z": 0.315078884 }, "Rotation": { "x": 1.59985757E-05, "y": 180.025635, "z": 1.3764713E-05 }, "Tags": [ "iron", "iron_works" ] }, { "Position": { "x": 12.8549137, "y": 10.4452114, "z": 0.308839232 }, "Rotation": { "x": 1.93327924E-05, "y": 180.016037, "z": 1.555752E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 13.6921978, "y": 10.4775219, "z": 1.94635391 }, "Rotation": { "x": 1.54666413E-05, "y": 180.02507, "z": 1.37270108E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 12.7297726, "y": 10.5010357, "z": 6.18016624 }, "Rotation": { "x": 1.95129924E-05, "y": 180.024628, "z": 1.76429166E-05 }, "Tags": [ "cotton_mill" ] }, { "Position": { "x": 12.7303705, "y": 10.4778423, "z": 7.88743 }, "Rotation": { "x": 1.73593817E-05, "y": 180.024521, "z": 1.38545738E-05 }, "Tags": [ "cotton_mill" ] }, { "Position": { "x": 8.83536, "y": 10.5009117, "z": 7.29573631 }, "Rotation": { "x": 1.85681838E-05, "y": 180.024567, "z": 1.46494776E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 8.835344, "y": 10.51247, "z": 5.57434654 }, "Rotation": { "x": 1.89532457E-05, "y": 180.0247, "z": 1.53628935E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 8.737752, "y": 10.4868679, "z": 1.282009 }, "Rotation": { "x": 1.61639509E-05, "y": 180.0163, "z": 1.91140425E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 8.733222, "y": 10.4870253, "z": -0.402238846 }, "Rotation": { "x": 1.43999314E-05, "y": 180.016418, "z": 1.74301913E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 5.7521925, "y": 10.4434519, "z": 3.04006 }, "Rotation": { "x": 2.073316E-05, "y": 180.02507, "z": 1.92109928E-05 }, "Tags": [ "iron", "iron_works" ] }, { "Position": { "x": 4.04296255, "y": 10.4790812, "z": 3.03382039 }, "Rotation": { "x": 1.80183979E-05, "y": 180.015549, "z": 1.88847553E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 4.94449472, "y": 10.4841957, "z": 4.7359376 }, "Rotation": { "x": 1.95099765E-05, "y": 180.0246, "z": 1.663989E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 4.94640636, "y": 10.492692, "z": -0.760047 }, "Rotation": { "x": 1.903259E-05, "y": 180.02504, "z": 1.81274536E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 3.23717761, "y": 10.4345312, "z": -0.7662872 }, "Rotation": { "x": 1.77319689E-05, "y": 180.015549, "z": 1.60432519E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 4.06188726, "y": 10.4756985, "z": -2.465298 }, "Rotation": { "x": 1.68570787E-05, "y": 180.024628, "z": 1.52812445E-05 }, "Tags": [ "iron", "iron_works" ] }, { "Position": { "x": -0.0862968, "y": 10.4413185, "z": -1.737398 }, "Rotation": { "x": -7.08924E-05, "y": 180.024811, "z": -1.16065557E-05 }, "Tags": [ "coal", "coal_mine" ] }, { "Position": { "x": -0.08026068, "y": 10.4464636, "z": -0.0715036541 }, "Rotation": { "x": 1.101072E-05, "y": 180.03038, "z": 3.81449681E-05 }, "Tags": [ "coal", "coal_mine" ] }, { "Position": { "x": 0.033832714, "y": 10.483346, "z": 4.46909428 }, "Rotation": { "x": 1.98994458E-05, "y": 180.024643, "z": 1.93152537E-05 }, "Tags": [ "port" ] }, { "Position": { "x": 0.9183525, "y": 10.5011215, "z": 6.174346 }, "Rotation": { "x": 1.71155662E-05, "y": 180.025024, "z": 1.50961187E-05 }, "Tags": [ "iron", "iron_works" ] }, { "Position": { "x": -0.79087764, "y": 10.46619, "z": 6.1681056 }, "Rotation": { "x": 1.66360587E-05, "y": 180.015549, "z": 1.85912068E-05 }, "Tags": [ "cotton_mill", "port" ] }, { "Position": { "x": -4.47771263, "y": 10.5208683, "z": 7.886455 }, "Rotation": { "x": 1.986015E-05, "y": 180.024673, "z": 1.592074E-05 }, "Tags": [ "port" ] }, { "Position": { "x": -0.8593524, "y": 10.494319, "z": 11.1845531 }, "Rotation": { "x": 1.80757343E-05, "y": 180.024582, "z": 1.67348389E-05 }, "Tags": [ "port" ] }, { "Position": { "x": 0.811665535, "y": 10.48318, "z": 11.189414 }, "Rotation": { "x": 1.758215E-05, "y": 180.024567, "z": 1.67367434E-05 }, "Tags": [ "cotton_mill", "port" ] }, { "Position": { "x": -6.029919, "y": 10.5148849, "z": 13.7654848 }, "Rotation": { "x": 1.77802449E-05, "y": 180.024567, "z": 1.84576747E-05 }, "Tags": [ "iron", "iron_works" ] }, { "Position": { "x": -7.70093632, "y": 10.4775829, "z": 13.7606211 }, "Rotation": { "x": 2.06195673E-05, "y": 180.024582, "z": 2.08976762E-05 }, "Tags": [ "shipyard" ] }, { "Position": { "x": -3.59118414, "y": 10.5188179, "z": -3.06446362 }, "Rotation": { "x": 1.821457E-05, "y": 180.026077, "z": 1.44058686E-05 }, "Tags": [ "port" ] }, { "Position": { "x": -5.30043364, "y": 10.4753742, "z": -3.07069874 }, "Rotation": { "x": 1.965953E-05, "y": 180.016281, "z": 1.60303025E-05 }, "Tags": [ "port" ] }, { "Position": { "x": -5.29521751, "y": 10.4819231, "z": -4.74909735 }, "Rotation": { "x": 1.82642088E-05, "y": 180.016174, "z": 1.330277E-05 }, "Tags": [ "shipyard" ] }, { "Position": { "x": -3.585967, "y": 10.53328, "z": -4.742864 }, "Rotation": { "x": 1.95785633E-05, "y": 180.026077, "z": 1.4201416E-05 }, "Tags": [ "port" ] }, { "Position": { "x": -1.87409437, "y": 10.521081, "z": -9.107535 }, "Rotation": { "x": 1.80412226E-05, "y": 180.017181, "z": 2.06264285E-05 }, "Tags": [ "port" ] }, { "Position": { "x": -7.598482, "y": 10.4627886, "z": -6.037955 }, "Rotation": { "x": 2.00645154E-05, "y": 180.017166, "z": 1.67400958E-05 }, "Tags": [ "shipyard" ] }, { "Position": { "x": 3.1756773, "y": 10.4844732, "z": -6.002499 }, "Rotation": { "x": 2.00713239E-05, "y": 180.026077, "z": 1.77166949E-05 }, "Tags": [ "coal", "cotton_mill", "coal_mine" ] }, { "Position": { "x": 1.46642625, "y": 10.4463253, "z": -6.00873327 }, "Rotation": { "x": 1.53406127E-05, "y": 180.0162, "z": 1.64599642E-05 }, "Tags": [ "port" ] }, { "Position": { "x": -13.3673716, "y": 10.5302935, "z": 12.7105532 }, "Rotation": { "x": 8.266436E-07, "y": 180.015137, "z": 180.0 } }, { "Position": { "x": 5.5283637, "y": 10.4815063, "z": -13.6470432 }, "Rotation": { "x": 0.0, "y": 150.0, "z": 0.0 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 8.471066, "y": 10.4815063, "z": -2.277432 }, "Rotation": { "x": 0.0, "y": 105.000008, "z": 0.0 }, "Tags": [ "link_canal", "link_rail" ] }, { "Position": { "x": 10.9030914, "y": 10.4815063, "z": 1.40804017 }, "Rotation": { "x": 1.12688247E-06, "y": 186.163712, "z": -1.59104985E-07 }, "Tags": [ "link_rail" ] }, { "Position": { "x": -13.5928621, "y": 10.4815063, "z": -2.36208773 }, "Rotation": { "x": -1.04221513E-07, "y": 0.0151299713, "z": 1.0334378E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": -12.7734432, "y": 10.4815063, "z": -2.377761 }, "Rotation": { "x": -2.117629E-05, "y": 0.0151252206, "z": 7.957391E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": -12.7864609, "y": 10.4815369, "z": -3.6674118 }, "Rotation": { "x": 4.43180028E-07, "y": 0.0151298931, "z": 1.00110628E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": -13.6058807, "y": 10.4815063, "z": -3.65173745 }, "Rotation": { "x": 2.22339145E-06, "y": 0.0151299126, "z": 2.83442546E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": 10.039629, "y": 10.4815063, "z": 11.238554 }, "Rotation": { "x": -4.84553539E-07, "y": -1.56558883E-06, "z": -1.34444826E-06 }, "Tags": [ "coal" ] }, { "Position": { "x": -13.606245, "y": 10.4815063, "z": -4.96668434 }, "Rotation": { "x": 1.4627218E-06, "y": 0.0151299043, "z": -1.61503783E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": -12.7868233, "y": 10.4815063, "z": -4.982358 }, "Rotation": { "x": 6.078064E-08, "y": 0.0151299462, "z": 1.85681006E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": -12.78622, "y": 10.4815063, "z": -6.299144 }, "Rotation": { "x": 2.35670927E-06, "y": 0.0151300151, "z": 1.55602481E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": -13.6056185, "y": 10.4815063, "z": -6.283471 }, "Rotation": { "x": 2.9918674E-06, "y": 0.015129935, "z": 2.22211952E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": -13.1424818, "y": 10.4815063, "z": -7.45305157 }, "Rotation": { "x": 9.162832E-07, "y": 0.01512999, "z": 1.89541868E-06 }, "Tags": [ "cotton" ] }, { "Position": { "x": 10.7922029, "y": 10.4815063, "z": 11.2272892 }, "Rotation": { "x": -1.20156278E-06, "y": -1.56081762E-06, "z": -1.03730929E-06 }, "Tags": [ "coal" ] }, { "Position": { "x": 10.0152292, "y": 10.4815063, "z": 14.4374237 }, "Rotation": { "x": -9.43564544E-07, "y": -7.16409545E-07, "z": 9.468253E-07 }, "Tags": [ "coal" ] }, { "Position": { "x": 10.7864943, "y": 10.4815063, "z": 14.449852 }, "Rotation": { "x": 1.44168965E-07, "y": -7.91779371E-07, "z": 2.709524E-07 }, "Tags": [ "coal" ] }, { "Position": { "x": 10.8114958, "y": 10.4815063, "z": 13.3890638 }, "Rotation": { "x": -1.8891775E-06, "y": -1.54426766E-06, "z": -7.565512E-07 }, "Tags": [ "coal" ] }, { "Position": { "x": 10.0402279, "y": 10.4815063, "z": 13.400631 }, "Rotation": { "x": -1.65094661E-06, "y": -1.541277E-06, "z": -1.189533E-06 }, "Tags": [ "coal" ] }, { "Position": { "x": 10.0319834, "y": 10.4815063, "z": 12.2936935 }, "Rotation": { "x": 4.794673E-07, "y": 1.15823814E-05, "z": -1.58144564E-06 }, "Tags": [ "coal" ] }, { "Position": { "x": 10.8111925, "y": 10.4815063, "z": 12.3257008 }, "Rotation": { "x": -6.194525E-07, "y": -1.28864042E-06, "z": -1.24465453E-06 }, "Tags": [ "coal" ] }, { "Position": { "x": 11.9867544, "y": 10.4815063, "z": 11.24547 }, "Rotation": { "x": -6.199106E-07, "y": -1.666592E-06, "z": 9.33429263E-08 }, "Tags": [ "iron" ] }, { "Position": { "x": 12.7393236, "y": 10.4815063, "z": 11.2342033 }, "Rotation": { "x": 1.97125246E-06, "y": -1.55329747E-06, "z": -2.63857714E-06 }, "Tags": [ "iron" ] }, { "Position": { "x": 12.7583179, "y": 10.4815063, "z": 12.3326168 }, "Rotation": { "x": -1.12528348E-07, "y": -1.3007184E-06, "z": -1.79977792E-06 }, "Tags": [ "iron" ] }, { "Position": { "x": 11.97441, "y": 10.4815063, "z": 12.3328371 }, "Rotation": { "x": -9.760382E-07, "y": -1.23079758E-06, "z": -1.09617258E-06 }, "Tags": [ "iron" ] }, { "Position": { "x": 11.9873486, "y": 10.4815063, "z": 13.407548 }, "Rotation": { "x": -9.923416E-07, "y": -1.58096111E-06, "z": -1.87262413E-06 }, "Tags": [ "iron" ] }, { "Position": { "x": 12.7586164, "y": 10.4815063, "z": 13.39598 }, "Rotation": { "x": -1.07530991E-06, "y": -1.5858742E-06, "z": -8.679056E-07 }, "Tags": [ "iron" ] }, { "Position": { "x": 12.733614, "y": 10.4815063, "z": 14.4567671 }, "Rotation": { "x": 5.343405E-07, "y": -7.04676552E-07, "z": 6.074323E-07 }, "Tags": [ "iron" ] }, { "Position": { "x": 11.9623556, "y": 10.4815063, "z": 14.4443378 }, "Rotation": { "x": 8.210797E-08, "y": -6.93812353E-07, "z": 1.15429927E-07 }, "Tags": [ "iron" ] }, { "Position": { "x": -3.21220183, "y": 10.4815063, "z": -11.7051754 }, "Rotation": { "x": -1.689893E-07, "y": 180.016876, "z": -1.45915385E-06 }, "Tags": [ "turn_order" ] }, { "Position": { "x": -6.906269, "y": 10.4815063, "z": -11.7121077 }, "Rotation": { "x": 1.89945855E-08, "y": 180.016876, "z": -5.47225966E-07 }, "Tags": [ "turn_order" ] }, { "Position": { "x": -10.5235472, "y": 10.4815063, "z": -11.7117558 }, "Rotation": { "x": 7.034998E-07, "y": 180.016861, "z": 1.612628E-06 }, "Tags": [ "turn_order" ] }, { "Position": { "x": -14.1941118, "y": 10.4815063, "z": -11.7108355 }, "Rotation": { "x": 2.2332506E-06, "y": 180.016861, "z": -2.2960055E-06 }, "Tags": [ "turn_order" ] }, { "Position": { "x": -13.3999338, "y": 10.448369, "z": 6.58932972 }, "Rotation": { "x": -4.91587571E-06, "y": 0.000201952338, "z": 3.856937E-06 }, "Tags": [ "distant_market" ] }, { "Position": { "x": -13.3999443, "y": 10.5127983, "z": 1.85287941 }, "Rotation": { "x": -4.91587662E-06, "y": 0.000195578017, "z": 4.79431037E-06 }, "Tags": [ "distant_market" ] } ] }, { "GUID": "749e60", "Name": "Custom_Tile", "Transform": { "posX": -0.001794274, "posY": 1.568631, "posZ": 29.4846859, "rotX": 359.9859, "rotY": 180.026276, "rotZ": 0.135621563, "scaleX": 0.4, "scaleY": 1.0, "scaleZ": 0.4 }, "Nickname": "Orange Player", "Description": "", "GMNotes": "Orange Player", "ColorDiffuse": { "r": 0.8784314, "g": 0.360779971, "b": 0.301956445 }, "Tags": [ "turn_order" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257461303431/E8B4FDEBB70E6FC0DECE01E57953063EF683D685/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143396/D7C328B5FE31F8860EDFF7D57A7407B25280B07D/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 2, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "dd63fc", "Name": "Custom_Tile", "Transform": { "posX": -0.0008914656, "posY": 1.56952071, "posZ": 29.4846516, "rotX": 0.0292399563, "rotY": 180.018387, "rotZ": 180.016037, "scaleX": 0.4, "scaleY": 1.0, "scaleZ": 0.4 }, "Nickname": "Yellow Player", "Description": "", "GMNotes": "Yellow Player", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.243132889 }, "Tags": [ "turn_order" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257461302985/74A9F6BD01A15D75D209D7EFBB9FDFC850F0D13D/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143474/9F3E4CB62BD2DDE09A0DC968B145FCF5567BAFC7/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 2, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e19c38", "Name": "Custom_Tile", "Transform": { "posX": -0.000680475263, "posY": 1.76813638, "posZ": 29.48487, "rotX": 359.971558, "rotY": 180.0171, "rotZ": 0.218447164, "scaleX": 0.4, "scaleY": 1.0, "scaleZ": 0.4 }, "Nickname": "Purple Player", "Description": "", "GMNotes": "Purple Player", "ColorDiffuse": { "r": 0.545097947, "g": 0.443132937, "b": 0.796078444 }, "Tags": [ "turn_order" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257461302479/F75C50E9152FFF90570CE13D35FE24A528816090/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143564/9D045658FE50355CC6BA65F30DE6D02406EBDFFD/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 2, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5f3e1f", "Name": "Custom_Tile", "Transform": { "posX": 26.0, "posY": 1.46963024, "posZ": -7.50000048, "rotX": -1.279665E-07, "rotY": 179.994659, "rotZ": -3.03311722E-08, "scaleX": 3.7723155, "scaleY": 1.0, "scaleZ": 3.7723155 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.249996722, "g": 0.249996722, "b": 0.249996722 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143049/09CECB6153B68EBDB6736072ED660FCC0450C4B1/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e7a73c", "Name": "Custom_Model", "Transform": { "posX": -8.825406, "posY": 1.694883, "posZ": -1.53843558, "rotX": 359.913757, "rotY": 0.0180096384, "rotZ": 0.0246288385, "scaleX": 0.2, "scaleY": 7.5, "scaleZ": 0.2 }, "Nickname": "Distant Cotton Market Marker", "Description": "", "GMNotes": "Distant Market Marker", "ColorDiffuse": { "r": 0.879790843, "g": 0.8776946, "b": 0.7372464 }, "Tags": [ "cotton" ], "LayoutGroupSortIndex": 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/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "DiffuseURL": "", "NormalURL": "", "ColliderURL": "http://cloud-3.steamusercontent.com/ugc/905652563644635916/A5E779655044653F0BB2E380A8154FF1DE0E0F04/", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "c924e1", "Name": "Custom_Tile", "Transform": { "posX": 17.749773, "posY": 1.46963024, "posZ": -7.50000238, "rotX": -1.91911141E-07, "rotY": 179.994, "rotZ": 3.21162474E-09, "scaleX": 3.708303, "scaleY": 1.0, "scaleZ": 3.71 }, "Nickname": "", "Description": "", "GMNotes": "Teal Player Mat", "ColorDiffuse": { "r": 0.7921569, "g": 0.858823538, "b": 0.8627451 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140344/4D1FA465AF9E4FF06229EA0D16A0F2341705F105/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.102778032, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 1.13479173, "y": 0.199834719, "z": 0.5422336 }, "Rotation": { "x": 1.234921E-05, "y": -0.00229134085, "z": 2.13107433E-05 }, "Tags": [ "teal_cotton_mill_1" ] }, { "Position": { "x": 1.137238, "y": 0.200144723, "z": 0.186666325 }, "Rotation": { "x": 1.17760537E-05, "y": -0.00230500055, "z": 1.7262E-05 }, "Tags": [ "teal_cotton_mill_2" ] }, { "Position": { "x": 1.136239, "y": 0.200048134, "z": -0.173967913 }, "Rotation": { "x": 1.14933619E-05, "y": -0.002933378, "z": 1.05117942E-05 }, "Tags": [ "teal_cotton_mill_3" ] }, { "Position": { "x": 1.14276123, "y": 0.199721545, "z": -0.5316482 }, "Rotation": { "x": 1.21329958E-05, "y": -0.00240062387, "z": 1.67083635E-05 }, "Tags": [ "teal_cotton_mill_4" ] }, { "Position": { "x": 0.5745221, "y": 0.200513974, "z": -0.5368122 }, "Rotation": { "x": 1.39923268E-05, "y": -0.00170394639, "z": 1.12989519E-05 }, "Tags": [ "teal_port_4" ] }, { "Position": { "x": 0.5760142, "y": 0.200532541, "z": -0.179837048 }, "Rotation": { "x": 1.30465633E-05, "y": -0.00244160625, "z": 9.85814E-06 }, "Tags": [ "teal_port_3" ] }, { "Position": { "x": 0.576962769, "y": 0.200118139, "z": 0.179332674 }, "Rotation": { "x": 1.33608046E-05, "y": -0.00218205922, "z": 1.94697877E-05 }, "Tags": [ "teal_port_2" ] }, { "Position": { "x": 0.5745165, "y": 0.199791938, "z": 0.534900844 }, "Rotation": { "x": 1.34849015E-05, "y": -0.00215473864, "z": 2.31583563E-05 }, "Tags": [ "teal_port_1" ] }, { "Position": { "x": -0.00299320812, "y": 0.200198084, "z": 0.535548747 }, "Rotation": { "x": 1.27743351E-05, "y": -0.001963492, "z": 2.1357464E-05 }, "Tags": [ "teal_shipyard_pre" ] }, { "Position": { "x": -0.000547025644, "y": 0.200055555, "z": 0.179980591 }, "Rotation": { "x": 1.09015054E-05, "y": -0.00200447068, "z": 2.04370172E-05 }, "Tags": [ "teal_shipyard_1" ] }, { "Position": { "x": -0.00149576389, "y": 0.200012416, "z": -0.179189086 }, "Rotation": { "x": 9.818871E-06, "y": -0.0023186584, "z": 1.77356142E-05 }, "Tags": [ "teal_shipyard_2" ] }, { "Position": { "x": -0.5785697, "y": 0.1999549, "z": -0.533158839 }, "Rotation": { "x": 9.809287E-06, "y": -0.00154001592, "z": 1.96633428E-05 }, "Tags": [ "teal_iron_works_4" ] }, { "Position": { "x": -0.5770777, "y": 0.200048074, "z": -0.176183641 }, "Rotation": { "x": 1.46025477E-05, "y": -0.00230500451, "z": 2.54861843E-05 }, "Tags": [ "teal_iron_works_3" ] }, { "Position": { "x": -0.5761289, "y": 0.200190768, "z": 0.182985589 }, "Rotation": { "x": 1.22424881E-05, "y": -0.002059114, "z": 1.98166672E-05 }, "Tags": [ "teal_iron_works_2" ] }, { "Position": { "x": -0.578575134, "y": 0.200045168, "z": 0.5385537 }, "Rotation": { "x": 1.02716749E-05, "y": -0.00201813015, "z": 2.26515021E-05 }, "Tags": [ "teal_iron_works_1" ] }, { "Position": { "x": -1.14861989, "y": 0.200254649, "z": 0.542142153 }, "Rotation": { "x": 1.2915878E-05, "y": -0.00200447347, "z": 2.0523692E-05 }, "Tags": [ "teal_coal_mine_1" ] }, { "Position": { "x": -1.14617383, "y": 0.1998086, "z": 0.186574 }, "Rotation": { "x": 1.323918E-05, "y": -0.00204545516, "z": 2.038361E-05 }, "Tags": [ "teal_coal_mine_2" ] }, { "Position": { "x": -1.14712286, "y": 0.199402347, "z": -0.172596127 }, "Rotation": { "x": 1.26076666E-05, "y": -0.00229134131, "z": 1.88027789E-05 }, "Tags": [ "teal_coal_mine_3" ] }, { "Position": { "x": -1.14861488, "y": 0.199360773, "z": -0.529571354 }, "Rotation": { "x": 1.08998447E-05, "y": -0.00154001731, "z": 2.12641535E-05 }, "Tags": [ "teal_coal_mine_4" ] } ] }, { "GUID": "535035", "Name": "Custom_Tile", "Transform": { "posX": -17.75, "posY": 1.46963024, "posZ": -7.5, "rotX": -3.48430262E-08, "rotY": 179.993942, "rotZ": 4.699924E-09, "scaleX": 3.708303, "scaleY": 1.0, "scaleZ": 3.71 }, "Nickname": "", "Description": "", "GMNotes": "Orange Player Mat", "ColorDiffuse": { "r": 0.8784314, "g": 0.352938652, "b": 0.294115126 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140344/4D1FA465AF9E4FF06229EA0D16A0F2341705F105/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.102778032, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 1.13479173, "y": 0.199834719, "z": 0.5422336 }, "Rotation": { "x": 1.234921E-05, "y": -0.00229134085, "z": 2.13107433E-05 }, "Tags": [ "orange_cotton_mill_1" ] }, { "Position": { "x": 1.137238, "y": 0.200144723, "z": 0.186666325 }, "Rotation": { "x": 1.17760537E-05, "y": -0.00230500055, "z": 1.7262E-05 }, "Tags": [ "orange_cotton_mill_2" ] }, { "Position": { "x": 1.136239, "y": 0.200048134, "z": -0.173967913 }, "Rotation": { "x": 1.14933619E-05, "y": -0.002933378, "z": 1.05117942E-05 }, "Tags": [ "orange_cotton_mill_3" ] }, { "Position": { "x": 1.14276123, "y": 0.199721545, "z": -0.5316482 }, "Rotation": { "x": 1.21329958E-05, "y": -0.00240062387, "z": 1.67083635E-05 }, "Tags": [ "orange_cotton_mill_4" ] }, { "Position": { "x": 0.5745221, "y": 0.200513974, "z": -0.5368122 }, "Rotation": { "x": 1.39923268E-05, "y": -0.00170394639, "z": 1.12989519E-05 }, "Tags": [ "orange_port_4" ] }, { "Position": { "x": 0.5760142, "y": 0.200532541, "z": -0.179837048 }, "Rotation": { "x": 1.30465633E-05, "y": -0.00244160625, "z": 9.85814E-06 }, "Tags": [ "orange_port_3" ] }, { "Position": { "x": 0.576962769, "y": 0.200118139, "z": 0.179332674 }, "Rotation": { "x": 1.33608046E-05, "y": -0.00218205922, "z": 1.94697877E-05 }, "Tags": [ "orange_port_2" ] }, { "Position": { "x": 0.5745165, "y": 0.199791938, "z": 0.534900844 }, "Rotation": { "x": 1.34849015E-05, "y": -0.00215473864, "z": 2.31583563E-05 }, "Tags": [ "orange_port_1" ] }, { "Position": { "x": -0.00299320812, "y": 0.200198084, "z": 0.535548747 }, "Rotation": { "x": 1.27743351E-05, "y": -0.001963492, "z": 2.1357464E-05 }, "Tags": [ "orange_shipyard_pre" ] }, { "Position": { "x": -0.000547025644, "y": 0.200055555, "z": 0.179980591 }, "Rotation": { "x": 1.09015054E-05, "y": -0.00200447068, "z": 2.04370172E-05 }, "Tags": [ "orange_shipyard_1" ] }, { "Position": { "x": -0.00149576389, "y": 0.200012416, "z": -0.179189086 }, "Rotation": { "x": 9.818871E-06, "y": -0.0023186584, "z": 1.77356142E-05 }, "Tags": [ "orange_shipyard_2" ] }, { "Position": { "x": -0.5785697, "y": 0.1999549, "z": -0.533158839 }, "Rotation": { "x": 9.809287E-06, "y": -0.00154001592, "z": 1.96633428E-05 }, "Tags": [ "orange_iron_works_4" ] }, { "Position": { "x": -0.5770777, "y": 0.200048074, "z": -0.176183641 }, "Rotation": { "x": 1.46025477E-05, "y": -0.00230500451, "z": 2.54861843E-05 }, "Tags": [ "orange_iron_works_3" ] }, { "Position": { "x": -0.5761289, "y": 0.200190768, "z": 0.182985589 }, "Rotation": { "x": 1.22424881E-05, "y": -0.002059114, "z": 1.98166672E-05 }, "Tags": [ "orange_iron_works_2" ] }, { "Position": { "x": -0.578575134, "y": 0.200045168, "z": 0.5385537 }, "Rotation": { "x": 1.02716749E-05, "y": -0.00201813015, "z": 2.26515021E-05 }, "Tags": [ "orange_iron_works_1" ] }, { "Position": { "x": -1.14861989, "y": 0.200254649, "z": 0.542142153 }, "Rotation": { "x": 1.2915878E-05, "y": -0.00200447347, "z": 2.0523692E-05 }, "Tags": [ "orange_coal_mine_1" ] }, { "Position": { "x": -1.14617383, "y": 0.1998086, "z": 0.186574 }, "Rotation": { "x": 1.323918E-05, "y": -0.00204545516, "z": 2.038361E-05 }, "Tags": [ "orange_coal_mine_2" ] }, { "Position": { "x": -1.14712286, "y": 0.199402347, "z": -0.172596127 }, "Rotation": { "x": 1.26076666E-05, "y": -0.00229134131, "z": 1.88027789E-05 }, "Tags": [ "orange_coal_mine_3" ] }, { "Position": { "x": -1.14861488, "y": 0.199360773, "z": -0.529571354 }, "Rotation": { "x": 1.08998447E-05, "y": -0.00154001731, "z": 2.12641535E-05 }, "Tags": [ "orange_coal_mine_4" ] } ] }, { "GUID": "918d17", "Name": "Custom_Tile", "Transform": { "posX": -17.7487469, "posY": 1.46963012, "posZ": 7.50004625, "rotX": 9.871998E-09, "rotY": 180.004288, "rotZ": -6.849013E-09, "scaleX": 3.708303, "scaleY": 1.0, "scaleZ": 3.71 }, "Nickname": "", "Description": "", "GMNotes": "Yellow Player Mat", "ColorDiffuse": { "r": 0.8627451, "g": 0.854901969, "b": 0.23529157 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140344/4D1FA465AF9E4FF06229EA0D16A0F2341705F105/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.102778032, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 1.136239, "y": 0.200048134, "z": -0.173967913 }, "Rotation": { "x": 1.14933619E-05, "y": -0.002933378, "z": 1.05117942E-05 }, "Tags": [ "yellow_cotton_mill_3" ] }, { "Position": { "x": 1.14276123, "y": 0.199721545, "z": -0.5316482 }, "Rotation": { "x": 1.21329958E-05, "y": -0.00240062387, "z": 1.67083635E-05 }, "Tags": [ "yellow_cotton_mill_4" ] }, { "Position": { "x": 0.5745221, "y": 0.200513974, "z": -0.5368122 }, "Rotation": { "x": 1.39923268E-05, "y": -0.00170394639, "z": 1.12989519E-05 }, "Tags": [ "yellow_port_4" ] }, { "Position": { "x": 0.5760142, "y": 0.200532541, "z": -0.179837048 }, "Rotation": { "x": 1.30465633E-05, "y": -0.00244160625, "z": 9.85814E-06 }, "Tags": [ "yellow_port_3" ] }, { "Position": { "x": 0.576962769, "y": 0.200118139, "z": 0.179332674 }, "Rotation": { "x": 1.33608046E-05, "y": -0.00218205922, "z": 1.94697877E-05 }, "Tags": [ "yellow_port_2" ] }, { "Position": { "x": 0.5745165, "y": 0.199791938, "z": 0.534900844 }, "Rotation": { "x": 1.34849015E-05, "y": -0.00215473864, "z": 2.31583563E-05 }, "Tags": [ "yellow_port_1" ] }, { "Position": { "x": -0.00299320812, "y": 0.200198084, "z": 0.535548747 }, "Rotation": { "x": 1.27743351E-05, "y": -0.001963492, "z": 2.1357464E-05 }, "Tags": [ "yellow_shipyard_pre" ] }, { "Position": { "x": -0.000547025644, "y": 0.200055555, "z": 0.179980591 }, "Rotation": { "x": 1.09015054E-05, "y": -0.00200447068, "z": 2.04370172E-05 }, "Tags": [ "yellow_shipyard_1" ] }, { "Position": { "x": -0.00149576389, "y": 0.200012416, "z": -0.179189086 }, "Rotation": { "x": 9.818871E-06, "y": -0.0023186584, "z": 1.77356142E-05 }, "Tags": [ "yellow_shipyard_2" ] }, { "Position": { "x": -0.5785697, "y": 0.1999549, "z": -0.533158839 }, "Rotation": { "x": 9.809287E-06, "y": -0.00154001592, "z": 1.96633428E-05 }, "Tags": [ "yellow_iron_works_4" ] }, { "Position": { "x": -0.5770777, "y": 0.200048074, "z": -0.176183641 }, "Rotation": { "x": 1.46025477E-05, "y": -0.00230500451, "z": 2.54861843E-05 }, "Tags": [ "yellow_iron_works_3" ] }, { "Position": { "x": -0.5761289, "y": 0.200190768, "z": 0.182985589 }, "Rotation": { "x": 1.22424881E-05, "y": -0.002059114, "z": 1.98166672E-05 }, "Tags": [ "yellow_iron_works_2" ] }, { "Position": { "x": -0.578575134, "y": 0.200045168, "z": 0.5385537 }, "Rotation": { "x": 1.02716749E-05, "y": -0.00201813015, "z": 2.26515021E-05 }, "Tags": [ "yellow_iron_works_1" ] }, { "Position": { "x": -1.14861989, "y": 0.200254649, "z": 0.542142153 }, "Rotation": { "x": 1.2915878E-05, "y": -0.00200447347, "z": 2.0523692E-05 }, "Tags": [ "yellow_coal_mine_1" ] }, { "Position": { "x": -1.14617383, "y": 0.1998086, "z": 0.186574 }, "Rotation": { "x": 1.323918E-05, "y": -0.00204545516, "z": 2.038361E-05 }, "Tags": [ "yellow_coal_mine_2" ] }, { "Position": { "x": -1.14712286, "y": 0.199402347, "z": -0.172596127 }, "Rotation": { "x": 1.26076666E-05, "y": -0.00229134131, "z": 1.88027789E-05 }, "Tags": [ "yellow_coal_mine_3" ] }, { "Position": { "x": -1.14861488, "y": 0.199360773, "z": -0.529571354 }, "Rotation": { "x": 1.08998447E-05, "y": -0.00154001731, "z": 2.12641535E-05 }, "Tags": [ "yellow_coal_mine_4" ] }, { "Position": { "x": 1.13479173, "y": 0.1027782, "z": 0.542233646 }, "Rotation": { "x": -4.1778506E-07, "y": -0.00362000032, "z": 2.919626E-07 }, "Tags": [ "yellow_cotton_mill_1" ] }, { "Position": { "x": 1.13723838, "y": 0.1027782, "z": 0.18666631 }, "Rotation": { "x": -5.804711E-07, "y": 359.981384, "z": -1.60176981E-07 }, "Tags": [ "yellow_cotton_mill_2" ] } ] }, { "GUID": "9f5d4d", "Name": "Custom_Tile", "Transform": { "posX": 17.75, "posY": 1.46869624, "posZ": 7.50000143, "rotX": 0.003964047, "rotY": 179.991348, "rotZ": 0.0124557, "scaleX": 3.708303, "scaleY": 1.0, "scaleZ": 3.71 }, "Nickname": "", "Description": "", "GMNotes": "Purple Player Mat", "ColorDiffuse": { "r": 0.623529434, "g": 0.12156608, "b": 0.9372549 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140344/4D1FA465AF9E4FF06229EA0D16A0F2341705F105/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.102778032, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedSnapPoints": [ { "Position": { "x": 1.13479173, "y": 0.199834719, "z": 0.5422336 }, "Rotation": { "x": 1.234921E-05, "y": -0.00229134085, "z": 2.13107433E-05 }, "Tags": [ "purple_cotton_mill_1" ] }, { "Position": { "x": 1.137238, "y": 0.200144723, "z": 0.186666325 }, "Rotation": { "x": 1.17760537E-05, "y": -0.00230500055, "z": 1.7262E-05 }, "Tags": [ "purple_cotton_mill_2" ] }, { "Position": { "x": 1.136239, "y": 0.200048134, "z": -0.173967913 }, "Rotation": { "x": 1.14933619E-05, "y": -0.002933378, "z": 1.05117942E-05 }, "Tags": [ "purple_cotton_mill_3" ] }, { "Position": { "x": 1.14276123, "y": 0.199721545, "z": -0.5316482 }, "Rotation": { "x": 1.21329958E-05, "y": -0.00240062387, "z": 1.67083635E-05 }, "Tags": [ "purple_cotton_mill_4" ] }, { "Position": { "x": 0.5745221, "y": 0.200513974, "z": -0.5368122 }, "Rotation": { "x": 1.39923268E-05, "y": -0.00170394639, "z": 1.12989519E-05 }, "Tags": [ "purple_port_4" ] }, { "Position": { "x": 0.5760142, "y": 0.200532541, "z": -0.179837048 }, "Rotation": { "x": 1.30465633E-05, "y": -0.00244160625, "z": 9.85814E-06 }, "Tags": [ "purple_port_3" ] }, { "Position": { "x": 0.576962769, "y": 0.200118139, "z": 0.179332674 }, "Rotation": { "x": 1.33608046E-05, "y": -0.00218205922, "z": 1.94697877E-05 }, "Tags": [ "purple_port_2" ] }, { "Position": { "x": 0.5745165, "y": 0.199791938, "z": 0.534900844 }, "Rotation": { "x": 1.34849015E-05, "y": -0.00215473864, "z": 2.31583563E-05 }, "Tags": [ "purple_port_1" ] }, { "Position": { "x": -0.00299320812, "y": 0.200198084, "z": 0.535548747 }, "Rotation": { "x": 1.27743351E-05, "y": -0.001963492, "z": 2.1357464E-05 }, "Tags": [ "purple_shipyard_pre" ] }, { "Position": { "x": -0.000547025644, "y": 0.200055555, "z": 0.179980591 }, "Rotation": { "x": 1.09015054E-05, "y": -0.00200447068, "z": 2.04370172E-05 }, "Tags": [ "purple_shipyard_1" ] }, { "Position": { "x": -0.00149576389, "y": 0.200012416, "z": -0.179189086 }, "Rotation": { "x": 9.818871E-06, "y": -0.0023186584, "z": 1.77356142E-05 }, "Tags": [ "purple_shipyard_2" ] }, { "Position": { "x": -0.5785697, "y": 0.1999549, "z": -0.533158839 }, "Rotation": { "x": 9.809287E-06, "y": -0.00154001592, "z": 1.96633428E-05 }, "Tags": [ "purple_iron_works_4" ] }, { "Position": { "x": -0.5770777, "y": 0.200048074, "z": -0.176183641 }, "Rotation": { "x": 1.46025477E-05, "y": -0.00230500451, "z": 2.54861843E-05 }, "Tags": [ "purple_iron_works_3" ] }, { "Position": { "x": -0.5761289, "y": 0.200190768, "z": 0.182985589 }, "Rotation": { "x": 1.22424881E-05, "y": -0.002059114, "z": 1.98166672E-05 }, "Tags": [ "purple_iron_works_2" ] }, { "Position": { "x": -0.578575134, "y": 0.200045168, "z": 0.5385537 }, "Rotation": { "x": 1.02716749E-05, "y": -0.00201813015, "z": 2.26515021E-05 }, "Tags": [ "purple_iron_works_1" ] }, { "Position": { "x": -1.14861989, "y": 0.200254649, "z": 0.542142153 }, "Rotation": { "x": 1.2915878E-05, "y": -0.00200447347, "z": 2.0523692E-05 }, "Tags": [ "purple_coal_mine_1" ] }, { "Position": { "x": -1.14617383, "y": 0.1998086, "z": 0.186574 }, "Rotation": { "x": 1.323918E-05, "y": -0.00204545516, "z": 2.038361E-05 }, "Tags": [ "purple_coal_mine_2" ] }, { "Position": { "x": -1.14712286, "y": 0.199402347, "z": -0.172596127 }, "Rotation": { "x": 1.26076666E-05, "y": -0.00229134131, "z": 1.88027789E-05 }, "Tags": [ "purple_coal_mine_3" ] }, { "Position": { "x": -1.14861488, "y": 0.199360773, "z": -0.529571354 }, "Rotation": { "x": 1.08998447E-05, "y": -0.00154001731, "z": 2.12641535E-05 }, "Tags": [ "purple_coal_mine_4" ] } ] }, { "GUID": "bfaa29", "Name": "Custom_Tile", "Transform": { "posX": 25.9984779, "posY": 1.46963024, "posZ": 7.4994235, "rotX": -1.07525004E-07, "rotY": 180.0, "rotZ": 2.59878412E-08, "scaleX": 3.7723155, "scaleY": 1.0, "scaleZ": 3.7723155 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.249996722, "g": 0.249996722, "b": 0.249996722 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143049/09CECB6153B68EBDB6736072ED660FCC0450C4B1/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0eb685", "Name": "Custom_Tile", "Transform": { "posX": -26.0, "posY": 1.46963024, "posZ": -7.50000048, "rotX": -1.3873165E-07, "rotY": 179.994659, "rotZ": 7.69914053E-08, "scaleX": 3.7723155, "scaleY": 1.0, "scaleZ": 3.7723155 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.249996722, "g": 0.249996722, "b": 0.249996722 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143049/09CECB6153B68EBDB6736072ED660FCC0450C4B1/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5a517e", "Name": "Custom_Tile", "Transform": { "posX": -26.0, "posY": 1.46963024, "posZ": 7.5, "rotX": -1.06334767E-07, "rotY": 179.997528, "rotZ": -8.77086563E-08, "scaleX": 3.7723155, "scaleY": 1.0, "scaleZ": 3.7723155 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 0.249996722, "g": 0.249996722, "b": 0.249996722 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143049/09CECB6153B68EBDB6736072ED660FCC0450C4B1/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0554b9", "Name": "Custom_Tile", "Transform": { "posX": 8.5, "posY": 1.46963012, "posZ": 15.5, "rotX": -2.05963545E-07, "rotY": 180.0, "rotZ": -9.236149E-08, "scaleX": 2.42404532, "scaleY": 1.0, "scaleZ": 2.42404532 }, "Nickname": "", "Description": "", "GMNotes": "", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758143128/9ED9BDE3A068691B8C75121E06E7C800F4B21B9B/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.102777719, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7e93fe", "Name": "Custom_Token", "Transform": { "posX": -8.678856, "posY": 1.57214, "posZ": 8.258834, "rotX": 0.08594269, "rotY": 180.000229, "rotZ": 359.975769, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "Deck Splitter", "Description": "", "GMNotes": "Deck Splitter", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758144181/D4B6864BE62DE30640E7E5CE5509A0A49C9F57D6/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomToken": { "Thickness": 0.1, "MergeDistancePixels": 5.0, "StandUp": false, "Stackable": false } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "AttachedDecals": [ { "Transform": { "posX": -0.0215115771, "posY": -0.109999895, "posZ": 0.0529685058, "rotX": 270.0, "rotY": 0.262854874, "rotZ": 0.0, "scaleX": 2.76926851, "scaleY": 4.177249, "scaleZ": 4.17725 }, "CustomDecal": { "Name": "TRAIN", "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758144274/D3D1578E550ED05CC40930BC455A6B6F61F563DC/", "Size": 1.0 } } ] }, { "GUID": "f2074f", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2381506, "posY": 1.99963, "posZ": -10.0009737, "rotX": -6.928612E-07, "rotY": -0.0003540489, "rotZ": 4.59353231E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 0", "Description": "", "GMNotes": "Marker Zone 0", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2b8c8a", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2566214, "posY": 1.99963, "posZ": -9.148079, "rotX": 2.24850828E-06, "rotY": -0.000337646256, "rotZ": 1.20730348E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 1", "Description": "", "GMNotes": "Marker Zone 1", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b75c1a", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2287884, "posY": 1.99963, "posZ": -8.292118, "rotX": -8.969287E-07, "rotY": -0.000341099774, "rotZ": 6.067743E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 2", "Description": "", "GMNotes": "Marker Zone 2", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "66d962", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2484369, "posY": 1.99963, "posZ": -7.47901344, "rotX": -9.738213E-08, "rotY": -0.000332571974, "rotZ": 9.29710268E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 3", "Description": "", "GMNotes": "Marker Zone 3", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1324f5", "Name": "ScriptingTrigger", "Transform": { "posX": -11.23579, "posY": 1.99963, "posZ": -6.645796, "rotX": 2.25924032E-06, "rotY": -0.000351010938, "rotZ": 6.119577E-08, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 4", "Description": "", "GMNotes": "Marker Zone 4", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "37940b", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2480326, "posY": 1.99963, "posZ": -5.80959368, "rotX": 1.06058089E-07, "rotY": -0.0003417056, "rotZ": 1.3305056E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 5", "Description": "", "GMNotes": "Marker Zone 5", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1b3c0a", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2398758, "posY": 1.99963, "posZ": -4.96746254, "rotX": 3.143909E-07, "rotY": -0.0003219232, "rotZ": -5.364035E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 6", "Description": "", "GMNotes": "Marker Zone 6", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4796e2", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2548828, "posY": 1.99963, "posZ": -4.14968538, "rotX": 2.90996263E-06, "rotY": -0.000332084135, "rotZ": 7.75907665E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 7", "Description": "", "GMNotes": "Marker Zone 7", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e04d51", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2410116, "posY": 1.99963, "posZ": -3.31530118, "rotX": -3.96884843E-07, "rotY": -0.000326446956, "rotZ": 8.466364E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 8", "Description": "", "GMNotes": "Marker Zone 8", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "54e6a9", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2525587, "posY": 1.99963, "posZ": -2.479112, "rotX": 6.760807E-07, "rotY": -0.00033047, "rotZ": 9.165069E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 9", "Description": "", "GMNotes": "Marker Zone 9", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f9ae21", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2452526, "posY": 1.99963, "posZ": -1.61057687, "rotX": -4.635232E-07, "rotY": -0.000326099485, "rotZ": 1.41007447E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 10", "Description": "", "GMNotes": "Marker Zone 10", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "de4170", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2503042, "posY": 1.99963, "posZ": -0.6454381, "rotX": -1.20250161E-06, "rotY": -0.000323103857, "rotZ": 2.97111541E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 11", "Description": "", "GMNotes": "Marker Zone 11", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a12840", "Name": "ScriptingTrigger", "Transform": { "posX": -11.255024, "posY": 1.99963, "posZ": 0.02198281, "rotX": 8.40271753E-07, "rotY": -0.000179799, "rotZ": -1.49664709E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 12", "Description": "", "GMNotes": "Marker Zone 12", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "aa4dd4", "Name": "ScriptingTrigger", "Transform": { "posX": -11.24569, "posY": 1.99963, "posZ": 1.01374674, "rotX": 2.09961217E-06, "rotY": -0.0001917126, "rotZ": 5.74813271E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 13", "Description": "", "GMNotes": "Marker Zone 13", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0f6808", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2476368, "posY": 1.99963, "posZ": 1.66118824, "rotX": 1.46205286E-06, "rotY": -0.000208428668, "rotZ": 1.14005309E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 14", "Description": "", "GMNotes": "Marker Zone 14", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cad61b", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2503929, "posY": 1.99963, "posZ": 2.686369, "rotX": 3.26149774E-07, "rotY": -0.000224528165, "rotZ": 9.01661338E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 15", "Description": "", "GMNotes": "Marker Zone 15", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a509b7", "Name": "ScriptingTrigger", "Transform": { "posX": -11.251687, "posY": 1.99963, "posZ": 3.33970547, "rotX": 5.01893737E-07, "rotY": -0.000226856719, "rotZ": 6.46287E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 16", "Description": "", "GMNotes": "Marker Zone 16", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6f2d85", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2525826, "posY": 1.99962986, "posZ": 4.33373833, "rotX": -2.15293358E-06, "rotY": -0.000249347155, "rotZ": 8.12581163E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 17", "Description": "", "GMNotes": "Marker Zone 17", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1827b2", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2475853, "posY": 1.99962986, "posZ": 4.977632, "rotX": -1.08305073E-06, "rotY": -0.0002566353, "rotZ": 1.20685752E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 18", "Description": "", "GMNotes": "Marker Zone 18", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "81c467", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2512274, "posY": 1.99962986, "posZ": 5.996561, "rotX": -6.206964E-07, "rotY": -0.0002749054, "rotZ": 3.89976549E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 19", "Description": "", "GMNotes": "Marker Zone 19", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b7cca3", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2465105, "posY": 1.99962986, "posZ": 6.64405441, "rotX": 2.98945133E-06, "rotY": -0.000280966371, "rotZ": 2.39157043E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 20", "Description": "", "GMNotes": "Marker Zone 20", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3f0cb2", "Name": "ScriptingTrigger", "Transform": { "posX": -11.244751, "posY": 1.99962986, "posZ": 7.639434, "rotX": -7.230861E-07, "rotY": -0.0003052853, "rotZ": 1.06686912E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 21", "Description": "", "GMNotes": "Marker Zone 21", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "dbdda8", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2498055, "posY": 1.99962986, "posZ": 8.30389, "rotX": -1.82954284E-06, "rotY": -0.000327414484, "rotZ": 1.1565924E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 22", "Description": "", "GMNotes": "Marker Zone 22", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a30e95", "Name": "ScriptingTrigger", "Transform": { "posX": -11.2456722, "posY": 1.99962986, "posZ": 9.295528, "rotX": 2.99567228E-06, "rotY": -0.000338035054, "rotZ": 1.66958148E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 23", "Description": "", "GMNotes": "Marker Zone 23", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d53c52", "Name": "ScriptingTrigger", "Transform": { "posX": -11.24485, "posY": 1.99962986, "posZ": 9.956332, "rotX": -4.0061903E-07, "rotY": -0.000337204547, "rotZ": 9.729627E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 24", "Description": "", "GMNotes": "Marker Zone 24", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "9c1585", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2411518, "posY": 1.99963, "posZ": -9.718085, "rotX": -1.07668654E-06, "rotY": -0.000427660038, "rotZ": 2.56265281E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 72", "Description": "", "GMNotes": "Marker Zone 72", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "9a5110", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2484951, "posY": 1.99963, "posZ": -9.070899, "rotX": 2.73495516E-06, "rotY": -0.000415292685, "rotZ": -1.644164E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 71", "Description": "", "GMNotes": "Marker Zone 71", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "58fbc3", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2439032, "posY": 1.99963, "posZ": -8.400974, "rotX": -1.48903371E-06, "rotY": -0.0003988898, "rotZ": -1.10311078E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 70", "Description": "", "GMNotes": "Marker Zone 70", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "eb1084", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2376623, "posY": 1.99963, "posZ": -7.742776, "rotX": -3.256659E-08, "rotY": -0.000356004282, "rotZ": 2.973278E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 69", "Description": "", "GMNotes": "Marker Zone 69", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cffcce", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2532492, "posY": 1.99963, "posZ": -6.400381, "rotX": 3.84646955E-06, "rotY": -0.000406652543, "rotZ": -5.30792E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 68", "Description": "", "GMNotes": "Marker Zone 68", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f05e47", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2523718, "posY": 1.99963, "posZ": -5.753667, "rotX": 8.9291575E-07, "rotY": -0.000372145558, "rotZ": -1.61511559E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 67", "Description": "", "GMNotes": "Marker Zone 67", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ea7ce4", "Name": "ScriptingTrigger", "Transform": { "posX": 11.24777, "posY": 1.99963, "posZ": -5.08373833, "rotX": 3.71773325E-07, "rotY": -0.000347730442, "rotZ": -9.457571E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 66", "Description": "", "GMNotes": "Marker Zone 66", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "952598", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2418613, "posY": 1.99963, "posZ": -4.4129715, "rotX": -2.57405844E-07, "rotY": -0.000334359764, "rotZ": -8.407864E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 65", "Description": "", "GMNotes": "Marker Zone 65", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "bffa84", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2565451, "posY": 1.99963, "posZ": -3.10827327, "rotX": 3.02560721E-07, "rotY": -0.00032154427, "rotZ": -5.656841E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 64", "Description": "", "GMNotes": "Marker Zone 64", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "052676", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2620792, "posY": 1.99963, "posZ": -2.45013237, "rotX": 1.09384177E-06, "rotY": -0.000298245315, "rotZ": -1.18981882E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 63", "Description": "", "GMNotes": "Marker Zone 63", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "c5369e", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2574768, "posY": 1.99963, "posZ": -1.78020573, "rotX": -4.720107E-07, "rotY": -0.000293778372, "rotZ": -8.809148E-09, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 62", "Description": "", "GMNotes": "Marker Zone 62", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "80d90e", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2515678, "posY": 1.99963, "posZ": -1.10943925, "rotX": 2.2680847E-06, "rotY": -0.000394124945, "rotZ": 1.22637431E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 61", "Description": "", "GMNotes": "Marker Zone 61", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "083a7c", "Name": "ScriptingTrigger", "Transform": { "posX": 11.253006, "posY": 1.99963, "posZ": 0.2506844, "rotX": 3.8043342E-07, "rotY": -0.000366999739, "rotZ": -3.18570272E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 60", "Description": "", "GMNotes": "Marker Zone 60", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "17a06f", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2484026, "posY": 1.99963, "posZ": 0.9206107, "rotX": -1.22342225E-08, "rotY": -0.000378210825, "rotZ": 1.57793068E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 59", "Description": "", "GMNotes": "Marker Zone 59", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2f96ab", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2424927, "posY": 1.99963, "posZ": 1.59137762, "rotX": 3.06022662E-06, "rotY": -0.0003571478, "rotZ": -1.28141949E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 58", "Description": "", "GMNotes": "Marker Zone 58", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2eadcd", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2590637, "posY": 1.99963, "posZ": 2.95298553, "rotX": 3.325948E-07, "rotY": -0.000331334828, "rotZ": -4.14101066E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 57", "Description": "", "GMNotes": "Marker Zone 57", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1ca0be", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2544641, "posY": 1.99962986, "posZ": 3.62291265, "rotX": 2.47479488E-06, "rotY": -0.000332153984, "rotZ": -1.02188585E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 56", "Description": "", "GMNotes": "Marker Zone 56", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "635261", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2485552, "posY": 1.99962986, "posZ": 4.29367876, "rotX": -1.0644975E-06, "rotY": -0.000308282848, "rotZ": -1.13652663E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 55", "Description": "", "GMNotes": "Marker Zone 55", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7545fe", "Name": "ScriptingTrigger", "Transform": { "posX": 11.25259, "posY": 1.99962986, "posZ": 5.67536354, "rotX": -1.46208538E-06, "rotY": -0.000309467345, "rotZ": -1.002954E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 54", "Description": "", "GMNotes": "Marker Zone 54", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f57c65", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2479887, "posY": 1.99962986, "posZ": 6.34528971, "rotX": 3.028146E-06, "rotY": -0.000303517329, "rotZ": 1.11391421E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 53", "Description": "", "GMNotes": "Marker Zone 53", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7a9b26", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2420788, "posY": 1.99962986, "posZ": 7.01605558, "rotX": 2.7205698E-07, "rotY": -0.0002680758, "rotZ": -1.17484171E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 52", "Description": "", "GMNotes": "Marker Zone 52", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7ce05d", "Name": "ScriptingTrigger", "Transform": { "posX": 11.24341, "posY": 1.99962986, "posZ": 8.350762, "rotX": 7.64217532E-07, "rotY": -0.000280324166, "rotZ": -2.67552849E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 51", "Description": "", "GMNotes": "Marker Zone 51", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2f99d1", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2388077, "posY": 1.99962986, "posZ": 9.020689, "rotX": 3.33602384E-06, "rotY": -0.000418746582, "rotZ": -9.73071E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 50", "Description": "", "GMNotes": "Marker Zone 50", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4cfc99", "Name": "ScriptingTrigger", "Transform": { "posX": 11.2328987, "posY": 1.99962986, "posZ": 9.691455, "rotX": 5.67306358E-07, "rotY": -0.00044424177, "rotZ": -6.40474354E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 49", "Description": "", "GMNotes": "Marker Zone 49", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5c080b", "Name": "ScriptingTrigger", "Transform": { "posX": -10.0841017, "posY": 1.99962986, "posZ": 11.2520151, "rotX": -1.19283914E-06, "rotY": -0.0003690329, "rotZ": 5.434374E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 25", "Description": "", "GMNotes": "Marker Zone 25", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "664292", "Name": "ScriptingTrigger", "Transform": { "posX": -9.425637, "posY": 1.99962986, "posZ": 11.2450666, "rotX": -3.62145869E-07, "rotY": -0.000339065475, "rotZ": 1.53223061E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 26", "Description": "", "GMNotes": "Marker Zone 26", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "521cbd", "Name": "ScriptingTrigger", "Transform": { "posX": -8.459726, "posY": 1.99962986, "posZ": 11.24911, "rotX": -6.337406E-07, "rotY": -0.000361719052, "rotZ": 2.15273587E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 27", "Description": "", "GMNotes": "Marker Zone 27", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1c0ce7", "Name": "ScriptingTrigger", "Transform": { "posX": -7.80126143, "posY": 1.99962986, "posZ": 11.2421637, "rotX": 9.749539E-07, "rotY": -0.000383740145, "rotZ": 1.42759575E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 28", "Description": "", "GMNotes": "Marker Zone 28", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4efb9f", "Name": "ScriptingTrigger", "Transform": { "posX": -6.76828337, "posY": 1.99962986, "posZ": 11.2492847, "rotX": -6.64145944E-07, "rotY": -0.000367956265, "rotZ": -1.32852037E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 29", "Description": "", "GMNotes": "Marker Zone 29", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b75c8f", "Name": "ScriptingTrigger", "Transform": { "posX": -6.10982037, "posY": 1.99962986, "posZ": 11.2423372, "rotX": -2.511079E-07, "rotY": -0.000358352176, "rotZ": 2.772676E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 30", "Description": "", "GMNotes": "Marker Zone 30", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b2e4d8", "Name": "ScriptingTrigger", "Transform": { "posX": -4.86030531, "posY": 1.99962986, "posZ": 11.2345648, "rotX": 5.914471E-07, "rotY": -0.000402926962, "rotZ": 9.43582165E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 31", "Description": "", "GMNotes": "Marker Zone 31", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cccda5", "Name": "ScriptingTrigger", "Transform": { "posX": -4.201822, "posY": 1.99962986, "posZ": 11.2425289, "rotX": -8.672347E-07, "rotY": -0.0004473206, "rotZ": -3.314934E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 32", "Description": "", "GMNotes": "Marker Zone 32", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "432e13", "Name": "ScriptingTrigger", "Transform": { "posX": -3.528399, "posY": 1.99962986, "posZ": 11.237628, "rotX": 5.007275E-07, "rotY": -0.000407511427, "rotZ": 7.238229E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 33", "Description": "", "GMNotes": "Marker Zone 33", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "38bbe6", "Name": "ScriptingTrigger", "Transform": { "posX": -2.1730907, "posY": 1.99962986, "posZ": 11.2349768, "rotX": 4.75447081E-07, "rotY": -0.000420077384, "rotZ": 4.006977E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 34", "Description": "", "GMNotes": "Marker Zone 34", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d25ee0", "Name": "ScriptingTrigger", "Transform": { "posX": -1.5183897, "posY": 1.99962986, "posZ": 11.2330713, "rotX": 4.1128277E-07, "rotY": -0.000417502277, "rotZ": 3.656562E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 35", "Description": "", "GMNotes": "Marker Zone 35", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "aef11e", "Name": "ScriptingTrigger", "Transform": { "posX": -0.8450004, "posY": 1.99962986, "posZ": 11.2524309, "rotX": 6.53893039E-07, "rotY": -0.000419754477, "rotZ": -1.35834725E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 36", "Description": "", "GMNotes": "Marker Zone 36", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4c8952", "Name": "ScriptingTrigger", "Transform": { "posX": 0.5234163, "posY": 1.99962986, "posZ": 11.25004, "rotX": -5.44813645E-07, "rotY": -0.000326842739, "rotZ": -1.569963E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 37", "Description": "", "GMNotes": "Marker Zone 37", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "30534b", "Name": "ScriptingTrigger", "Transform": { "posX": 1.19249, "posY": 1.99962986, "posZ": 11.2470932, "rotX": 6.21345E-07, "rotY": -0.0003326413, "rotZ": -3.188174E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 38", "Description": "", "GMNotes": "Marker Zone 38", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "acbfe8", "Name": "ScriptingTrigger", "Transform": { "posX": 1.85920441, "posY": 1.99962986, "posZ": 11.2413883, "rotX": 4.085089E-07, "rotY": -0.000333359436, "rotZ": 2.68508757E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 39", "Description": "", "GMNotes": "Marker Zone 39", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "31937d", "Name": "ScriptingTrigger", "Transform": { "posX": 3.21055722, "posY": 1.99962986, "posZ": 11.2403421, "rotX": 6.29683768E-07, "rotY": -0.0003277945, "rotZ": -1.94854863E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 40", "Description": "", "GMNotes": "Marker Zone 40", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "989c9e", "Name": "ScriptingTrigger", "Transform": { "posX": 3.86902, "posY": 1.99962986, "posZ": 11.2333956, "rotX": -8.122383E-07, "rotY": -0.0003475387, "rotZ": -4.87856767E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 41", "Description": "", "GMNotes": "Marker Zone 41", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "bb92aa", "Name": "ScriptingTrigger", "Transform": { "posX": 4.5394, "posY": 1.99962986, "posZ": 11.233489, "rotX": 8.015271E-07, "rotY": -0.000321235566, "rotZ": 6.974758E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 42", "Description": "", "GMNotes": "Marker Zone 42", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8d54fb", "Name": "ScriptingTrigger", "Transform": { "posX": 5.985114, "posY": 1.99962986, "posZ": 11.2506065, "rotX": 7.01164765E-07, "rotY": -0.000326263456, "rotZ": -6.519933E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 43", "Description": "", "GMNotes": "Marker Zone 43", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fa3a9f", "Name": "ScriptingTrigger", "Transform": { "posX": 6.643578, "posY": 1.99962986, "posZ": 11.2436571, "rotX": -2.00165786E-07, "rotY": -0.000340455881, "rotZ": 7.58964632E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 44", "Description": "", "GMNotes": "Marker Zone 44", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d4bf75", "Name": "ScriptingTrigger", "Transform": { "posX": 7.319199, "posY": 1.99962986, "posZ": 11.2539015, "rotX": 1.40610467E-07, "rotY": -0.000333425676, "rotZ": 1.28715533E-06, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 45", "Description": "", "GMNotes": "Marker Zone 45", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "388124", "Name": "ScriptingTrigger", "Transform": { "posX": 8.643486, "posY": 1.99962986, "posZ": 11.25595, "rotX": 1.01272633E-06, "rotY": -0.0003259702, "rotZ": -7.13582E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 46", "Description": "", "GMNotes": "Marker Zone 46", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fa77cb", "Name": "ScriptingTrigger", "Transform": { "posX": 9.3019495, "posY": 1.99962986, "posZ": 11.2490025, "rotX": -9.95518E-07, "rotY": -0.00037131118, "rotZ": -9.1155573E-07, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 47", "Description": "", "GMNotes": "Marker Zone 47", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cf8e95", "Name": "ScriptingTrigger", "Transform": { "posX": 9.98528, "posY": 1.99962986, "posZ": 11.2488079, "rotX": -6.252068E-07, "rotY": -0.0003374154, "rotZ": -1.820272E-08, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 48", "Description": "", "GMNotes": "Marker Zone 48", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "710a1a", "Name": "ScriptingTrigger", "Transform": { "posX": -10.13858, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 99", "Description": "", "GMNotes": "Marker Zone 99", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2e57c0", "Name": "ScriptingTrigger", "Transform": { "posX": -9.473327, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 98", "Description": "", "GMNotes": "Marker Zone 98", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "065de7", "Name": "ScriptingTrigger", "Transform": { "posX": -8.800491, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 97", "Description": "", "GMNotes": "Marker Zone 97", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2ac41f", "Name": "ScriptingTrigger", "Transform": { "posX": -7.68633032, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 96", "Description": "", "GMNotes": "Marker Zone 96", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f74296", "Name": "ScriptingTrigger", "Transform": { "posX": -7.01011467, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 95", "Description": "", "GMNotes": "Marker Zone 95", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ded76c", "Name": "ScriptingTrigger", "Transform": { "posX": -6.350058, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 94", "Description": "", "GMNotes": "Marker Zone 94", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ec970d", "Name": "ScriptingTrigger", "Transform": { "posX": -5.683516, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 93", "Description": "", "GMNotes": "Marker Zone 93", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e6a17b", "Name": "ScriptingTrigger", "Transform": { "posX": -4.478816, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 92", "Description": "", "GMNotes": "Marker Zone 92", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b9402a", "Name": "ScriptingTrigger", "Transform": { "posX": -3.81209373, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 91", "Description": "", "GMNotes": "Marker Zone 91", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "dfd2d8", "Name": "ScriptingTrigger", "Transform": { "posX": -3.15210247, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 90", "Description": "", "GMNotes": "Marker Zone 90", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2ffeb2", "Name": "ScriptingTrigger", "Transform": { "posX": -2.485204, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 89", "Description": "", "GMNotes": "Marker Zone 89", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fd513a", "Name": "ScriptingTrigger", "Transform": { "posX": -1.32808471, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 88", "Description": "", "GMNotes": "Marker Zone 88", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d9c3e5", "Name": "ScriptingTrigger", "Transform": { "posX": -0.6520912, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 87", "Description": "", "GMNotes": "Marker Zone 87", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d36f07", "Name": "ScriptingTrigger", "Transform": { "posX": 0.0212007351, "posY": 1.971043, "posZ": -11.3600006, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 86", "Description": "", "GMNotes": "Marker Zone 86", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8944ae", "Name": "ScriptingTrigger", "Transform": { "posX": 1.79162717, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 84", "Description": "", "GMNotes": "Marker Zone 84", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5a45be", "Name": "ScriptingTrigger", "Transform": { "posX": 2.467069, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 83", "Description": "", "GMNotes": "Marker Zone 83", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8b4d2f", "Name": "ScriptingTrigger", "Transform": { "posX": 0.6881026, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 85", "Description": "", "GMNotes": "Marker Zone 85", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "97dbc2", "Name": "ScriptingTrigger", "Transform": { "posX": 3.1156435, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 82", "Description": "", "GMNotes": "Marker Zone 82", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5bf198", "Name": "ScriptingTrigger", "Transform": { "posX": 3.78252864, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 81", "Description": "", "GMNotes": "Marker Zone 81", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "38fc99", "Name": "ScriptingTrigger", "Transform": { "posX": 4.9493494, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 80", "Description": "", "GMNotes": "Marker Zone 80", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b2a364", "Name": "ScriptingTrigger", "Transform": { "posX": 5.618721, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 79", "Description": "", "GMNotes": "Marker Zone 79", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "21bbb7", "Name": "ScriptingTrigger", "Transform": { "posX": 6.28575134, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 78", "Description": "", "GMNotes": "Marker Zone 78", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d2588c", "Name": "ScriptingTrigger", "Transform": { "posX": 6.952167, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 77", "Description": "", "GMNotes": "Marker Zone 77", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d14f1d", "Name": "ScriptingTrigger", "Transform": { "posX": 8.114813, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 76", "Description": "", "GMNotes": "Marker Zone 76", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3eec34", "Name": "ScriptingTrigger", "Transform": { "posX": 8.790795, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 75", "Description": "", "GMNotes": "Marker Zone 75", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cdb362", "Name": "ScriptingTrigger", "Transform": { "posX": 9.457517, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 74", "Description": "", "GMNotes": "Marker Zone 74", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e9bf39", "Name": "ScriptingTrigger", "Transform": { "posX": 10.1336718, "posY": 1.971043, "posZ": -11.36, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, "scaleX": 0.6, "scaleY": 1.0, "scaleZ": 0.6 }, "Nickname": "Marker Zone 73", "Description": "", "GMNotes": "Marker Zone 73", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d2b988", "Name": "ScriptingTrigger", "Transform": { "posX": -1.20816135, "posY": 2.74963, "posZ": -5.92293072, "rotX": 2.07418623E-07, "rotY": 180.016174, "rotZ": 1.38444022E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Ellesmere Port", "Description": "", "GMNotes": "Ellesmere Port", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d6e737", "Name": "ScriptingTrigger", "Transform": { "posX": -2.32087874, "posY": 2.74963, "posZ": -3.08589482, "rotX": 4.2550364E-06, "rotY": 180.01619, "rotZ": -3.204392E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Liverpool (SE)", "Description": "", "GMNotes": "Liverpool (SE)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "91911b", "Name": "ScriptingTrigger", "Transform": { "posX": -2.32426953, "posY": 2.74963, "posZ": -1.99493432, "rotX": 6.215173E-08, "rotY": 180.016174, "rotZ": 3.835134E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Liverpool (NE)", "Description": "", "GMNotes": "Liverpool (NE)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "50d45a", "Name": "ScriptingTrigger", "Transform": { "posX": -3.4318912, "posY": 2.74963, "posZ": -3.08994627, "rotX": -3.35740054E-07, "rotY": 180.01619, "rotZ": 3.80918124E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Liverpool (SW)", "Description": "", "GMNotes": "Liverpool (SW)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e3b7a3", "Name": "ScriptingTrigger", "Transform": { "posX": -3.43528175, "posY": 2.74963, "posZ": -1.99898708, "rotX": 1.63064135E-06, "rotY": 180.016174, "rotZ": 1.57429622E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Liverpool (NW)", "Description": "", "GMNotes": "Liverpool (NW)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3ccdcc", "Name": "ScriptingTrigger", "Transform": { "posX": -4.929013, "posY": 2.74963, "posZ": -3.92770362, "rotX": 6.27767747E-07, "rotY": 180.0162, "rotZ": -1.64785251E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Birkenhead", "Description": "", "GMNotes": "Birkenhead", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "29e020", "Name": "ScriptingTrigger", "Transform": { "posX": 0.963176966, "posY": 2.74963, "posZ": -3.90870953, "rotX": 1.62297613E-06, "rotY": 180.016174, "rotZ": 3.75768741E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Warrington & Runcorn (W)", "Description": "", "GMNotes": "Warrington & Runcorn (W)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "245596", "Name": "ScriptingTrigger", "Transform": { "posX": 2.07419, "posY": 2.74963, "posZ": -3.90465736, "rotX": 5.972434E-07, "rotY": 180.016174, "rotZ": -1.586247E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Warrington & Runcorn (E)", "Description": "", "GMNotes": "Warrington & Runcorn (E)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "efed8b", "Name": "ScriptingTrigger", "Transform": { "posX": 5.8894434, "posY": 2.74963, "posZ": -3.73146367, "rotX": -3.922418E-06, "rotY": 180.026047, "rotZ": 8.17629768E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Manchester (SE)", "Description": "", "GMNotes": "Manchester (SE)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ff7d65", "Name": "ScriptingTrigger", "Transform": { "posX": 4.77842951, "posY": 2.74963, "posZ": -3.73551631, "rotX": -4.663139E-07, "rotY": 180.026138, "rotZ": -1.09395637E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Manchester (SW)", "Description": "", "GMNotes": "Manchester (SW)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "33f755", "Name": "ScriptingTrigger", "Transform": { "posX": 4.77504253, "posY": 2.74963, "posZ": -2.64454556, "rotX": -1.232958E-06, "rotY": 180.0162, "rotZ": 1.1967303E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Manchester (NW)", "Description": "", "GMNotes": "Manchester (NW)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12686f", "Name": "ScriptingTrigger", "Transform": { "posX": 5.88605, "posY": 2.74963, "posZ": -2.64050245, "rotX": -4.28149542E-06, "rotY": 180.026077, "rotZ": 1.15006884E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Manchester (NE)", "Description": "", "GMNotes": "Manchester (NE)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a15ce2", "Name": "ScriptingTrigger", "Transform": { "posX": 6.94697857, "posY": 2.74963, "posZ": -6.53838634, "rotX": -7.075896E-06, "rotY": 180.016174, "rotZ": 3.27388619E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Stockport (W)", "Description": "", "GMNotes": "Stockport (W)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "129bf3", "Name": "ScriptingTrigger", "Transform": { "posX": 8.057991, "posY": 2.74963, "posZ": -6.53433466, "rotX": -6.05098876E-06, "rotY": 180.016174, "rotZ": 9.604335E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Stockport (E)", "Description": "", "GMNotes": "Stockport (E)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3323a4", "Name": "ScriptingTrigger", "Transform": { "posX": 5.10307741, "posY": 2.74963, "posZ": -8.410059, "rotX": 1.9797E-06, "rotY": 180.01619, "rotZ": -1.09061409E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Macclesfield (W)", "Description": "", "GMNotes": "Macclesfield (W)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "875228", "Name": "ScriptingTrigger", "Transform": { "posX": 6.21409035, "posY": 2.74963, "posZ": -8.406008, "rotX": -1.14610771E-07, "rotY": 180.01619, "rotZ": 7.811446E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Macclesfield (E)", "Description": "", "GMNotes": "Macclesfield (E)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "c14e85", "Name": "ScriptingTrigger", "Transform": { "posX": 8.18237, "posY": 2.74963, "posZ": -2.66870832, "rotX": -1.36413223E-06, "rotY": 180.0162, "rotZ": 1.04550884E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Oldham (W)", "Description": "", "GMNotes": "Oldham (W)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f438fe", "Name": "ScriptingTrigger", "Transform": { "posX": 9.293381, "posY": 2.74963, "posZ": -2.66465521, "rotX": 3.37052853E-07, "rotY": 180.0162, "rotZ": 1.57514182E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Oldham (E)", "Description": "", "GMNotes": "Oldham (E)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "c9f3a4", "Name": "ScriptingTrigger", "Transform": { "posX": 8.365694, "posY": 2.74963, "posZ": 0.197712451, "rotX": 1.01890407E-06, "rotY": 180.0162, "rotZ": 1.60697721E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Rochdale (SW)", "Description": "", "GMNotes": "Rochdale (SW)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f88687", "Name": "ScriptingTrigger", "Transform": { "posX": 9.476693, "posY": 2.74963, "posZ": 0.2017682, "rotX": 1.13955616E-06, "rotY": 180.0162, "rotZ": 1.24192616E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Rochdale (SE)", "Description": "", "GMNotes": "Rochdale (SE)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "010e97", "Name": "ScriptingTrigger", "Transform": { "posX": 8.909928, "posY": 2.74963, "posZ": 1.26209688, "rotX": 1.99539386E-06, "rotY": 180.016251, "rotZ": 1.74299487E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Rochdale (N)", "Description": "", "GMNotes": "Rochdale (N)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "05533c", "Name": "ScriptingTrigger", "Transform": { "posX": 8.284352, "posY": 2.74963, "posZ": 4.014075, "rotX": -2.27428259E-07, "rotY": 180.0162, "rotZ": 2.24991231E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Colne (S)", "Description": "", "GMNotes": "Colne (S)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "711ca4", "Name": "ScriptingTrigger", "Transform": { "posX": 8.28474, "posY": 2.74963, "posZ": 5.12379646, "rotX": 2.47199E-07, "rotY": 180.01619, "rotZ": 6.785005E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Colne (N)", "Description": "", "GMNotes": "Colne (N)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d2d30a", "Name": "ScriptingTrigger", "Transform": { "posX": 5.78185844, "posY": 2.74963, "posZ": 3.61885214, "rotX": -4.841592E-06, "rotY": 181.68631, "rotZ": 1.99876877E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Burnley (S)", "Description": "", "GMNotes": "Burnley (S)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "bb78b2", "Name": "ScriptingTrigger", "Transform": { "posX": 5.752948, "posY": 2.74963, "posZ": 4.739874, "rotX": 5.043136E-07, "rotY": 180.0398, "rotZ": 1.62444746E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Burnley (N)", "Description": "", "GMNotes": "Burnley (N)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "358114", "Name": "ScriptingTrigger", "Transform": { "posX": 2.65022659, "posY": 2.74963, "posZ": -1.60547674, "rotX": 1.18100154E-07, "rotY": 180.016174, "rotZ": 2.55434657E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Bolton (S)", "Description": "", "GMNotes": "Bolton (S)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b699b0", "Name": "ScriptingTrigger", "Transform": { "posX": 3.225164, "posY": 2.74963, "posZ": -0.497063577, "rotX": -1.02101308E-06, "rotY": 180.016174, "rotZ": 2.89799141E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Bolton (NE)", "Description": "", "GMNotes": "Bolton (NE)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "087a08", "Name": "ScriptingTrigger", "Transform": { "posX": 2.11416531, "posY": 2.74963, "posZ": -0.5011195, "rotX": -8.19261857E-07, "rotY": 180.016174, "rotZ": 3.99049941E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Bolton (NW)", "Description": "", "GMNotes": "Bolton (NW)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "38f370", "Name": "ScriptingTrigger", "Transform": { "posX": 2.63792562, "posY": 2.74963, "posZ": 1.96895015, "rotX": 7.575537E-08, "rotY": 180.015549, "rotZ": -1.31567015E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Blackburn (W)", "Description": "", "GMNotes": "Blackburn (W)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6f807f", "Name": "ScriptingTrigger", "Transform": { "posX": 3.22392082, "posY": 2.74963, "posZ": 3.075326, "rotX": -2.15228829E-06, "rotY": 180.025055, "rotZ": 2.05196031E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Blackburn (N)", "Description": "", "GMNotes": "Blackburn (N)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "68b7fb", "Name": "ScriptingTrigger", "Transform": { "posX": 3.74892473, "posY": 2.74963, "posZ": 1.97300565, "rotX": -2.88229012E-06, "rotY": 180.02507, "rotZ": -1.325662E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Blackburn (E)", "Description": "", "GMNotes": "Blackburn (E)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ed3210", "Name": "ScriptingTrigger", "Transform": { "posX": 0.03199135, "posY": 2.74963, "posZ": 2.901878, "rotX": 8.509953E-08, "rotY": 180.016174, "rotZ": 5.390084E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Preston (S)", "Description": "", "GMNotes": "Preston (S)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ec5dd1", "Name": "ScriptingTrigger", "Transform": { "posX": -0.5040705, "posY": 2.74963, "posZ": 4.006235, "rotX": -5.89229649E-06, "rotY": 180.016174, "rotZ": -1.07334665E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Preston (NW)", "Description": "", "GMNotes": "Preston (NW)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2b0036", "Name": "ScriptingTrigger", "Transform": { "posX": 0.606929064, "posY": 2.74963, "posZ": 4.01029158, "rotX": -6.91112E-07, "rotY": 180.016174, "rotZ": 5.55057477E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Preston (NE)", "Description": "", "GMNotes": "Preston (NE)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f97fdc", "Name": "ScriptingTrigger", "Transform": { "posX": -0.04609292, "posY": 2.74963, "posZ": -1.13234186, "rotX": 6.59614329E-07, "rotY": 180.01619, "rotZ": 3.46918137E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Wigan (S)", "Description": "", "GMNotes": "Wigan (S)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "101933", "Name": "ScriptingTrigger", "Transform": { "posX": -0.042169556, "posY": 2.74963, "posZ": -0.04951049, "rotX": 7.359839E-07, "rotY": 180.01619, "rotZ": 1.0232435E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Wigan (N)", "Description": "", "GMNotes": "Wigan (N)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "275cb6", "Name": "ScriptingTrigger", "Transform": { "posX": -2.90051317, "posY": 2.74963, "posZ": 5.12316227, "rotX": -2.53780371E-07, "rotY": 180.01619, "rotZ": 3.37100829E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Fleetwood", "Description": "", "GMNotes": "Fleetwood", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "426a10", "Name": "ScriptingTrigger", "Transform": { "posX": -4.99560833, "posY": 2.74962974, "posZ": 8.941371, "rotX": -1.07592359E-06, "rotY": 180.01619, "rotZ": 5.32676768E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Barrow-in-Furness (W)", "Description": "", "GMNotes": "Barrow-in-Furness (W)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cf611f", "Name": "ScriptingTrigger", "Transform": { "posX": -3.90944719, "posY": 2.74962974, "posZ": 8.944532, "rotX": -5.466171E-06, "rotY": 180.01619, "rotZ": 3.855644E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Barrow-in-Furness (E)", "Description": "", "GMNotes": "Barrow-in-Furness (E)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "594082", "Name": "ScriptingTrigger", "Transform": { "posX": 0.5375825, "posY": 2.74963, "posZ": 7.27008629, "rotX": -4.81929965E-06, "rotY": 179.971985, "rotZ": -2.5240372E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Lancaster (E)", "Description": "", "GMNotes": "Lancaster (E)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "faa397", "Name": "ScriptingTrigger", "Transform": { "posX": -0.5485834, "posY": 2.74963, "posZ": 7.26692057, "rotX": 2.66202278E-07, "rotY": 180.017166, "rotZ": 2.17837368E-07, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Lancaster (W)", "Description": "", "GMNotes": "Lancaster (W)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "497481", "Name": "ScriptingTrigger", "Transform": { "posX": -8.678791, "posY": 2.204866, "posZ": 8.258827, "rotX": -7.94918662E-07, "rotY": 180.015121, "rotZ": 180.0, "scaleX": 2.8, "scaleY": 1.41047132, "scaleZ": 4.0 }, "Nickname": "Play Deck Zone", "Description": "", "GMNotes": "Play Deck Zone", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "471072", "Name": "ScriptingTrigger", "Transform": { "posX": -9.216141, "posY": 1.57963, "posZ": -7.615025, "rotX": 4.76336766E-07, "rotY": -0.0008830209, "rotZ": 6.88775756E-08, "scaleX": 0.8, "scaleY": 0.16, "scaleZ": 0.8 }, "Nickname": "Player Token Zone 1", "Description": "", "GMNotes": "Player Token Zone 1", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "c962ad", "Name": "ScriptingTrigger", "Transform": { "posX": -6.83027458, "posY": 1.57963, "posZ": -7.615624, "rotX": 5.306948E-08, "rotY": -0.0009010953, "rotZ": 5.258443E-07, "scaleX": 0.8, "scaleY": 0.16, "scaleZ": 0.8 }, "Nickname": "Player Token Zone 2", "Description": "", "GMNotes": "Player Token Zone 2", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "aa57da", "Name": "ScriptingTrigger", "Transform": { "posX": -4.47411251, "posY": 1.57963, "posZ": -7.60204268, "rotX": 9.886762E-07, "rotY": 359.5089, "rotZ": -4.03743826E-07, "scaleX": 0.8, "scaleY": 0.16, "scaleZ": 0.8 }, "Nickname": "Player Token Zone 3", "Description": "", "GMNotes": "Player Token Zone 3", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6bfba6", "Name": "ScriptingTrigger", "Transform": { "posX": -2.08, "posY": 1.57963, "posZ": -7.61134624, "rotX": 4.464949E-07, "rotY": -0.000889520452, "rotZ": 3.45163784E-07, "scaleX": 0.8, "scaleY": 0.16, "scaleZ": 0.8 }, "Nickname": "Player Token Zone 4", "Description": "", "GMNotes": "Player Token Zone 4", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d02bc1", "Name": "ScriptingTrigger", "Transform": { "posX": -8.82536, "posY": 1.74963, "posZ": -1.5383898, "rotX": 1.98874886E-06, "rotY": 9.129864E-06, "rotZ": 1.08848474E-06, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 1", "Description": "", "GMNotes": "Distant Market 1", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7921a6", "Name": "ScriptingTrigger", "Transform": { "posX": -8.286664, "posY": 1.74963, "posZ": -1.54284346, "rotX": 5.254297E-07, "rotY": 359.979553, "rotZ": 1.33697749E-05, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 2", "Description": "", "GMNotes": "Distant Market 2", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e8e801", "Name": "ScriptingTrigger", "Transform": { "posX": -8.287932, "posY": 1.74963, "posZ": -2.38314533, "rotX": 3.26232822E-07, "rotY": -0.000461184245, "rotZ": 1.16122089E-06, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 3", "Description": "", "GMNotes": "Distant Market 3", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "9d419f", "Name": "ScriptingTrigger", "Transform": { "posX": -8.829992, "posY": 1.74963, "posZ": -2.37665653, "rotX": 3.122733E-07, "rotY": 0.0007776387, "rotZ": 1.50182657E-07, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 4", "Description": "", "GMNotes": "Distant Market 4", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "844a56", "Name": "ScriptingTrigger", "Transform": { "posX": -8.836793, "posY": 1.74963, "posZ": -3.23158026, "rotX": 9.586079E-06, "rotY": 0.0323246159, "rotZ": 1.598118E-05, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 5", "Description": "", "GMNotes": "Distant Market 5", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "045c53", "Name": "ScriptingTrigger", "Transform": { "posX": -8.30143452, "posY": 1.74963, "posZ": -3.241566, "rotX": -1.20222509E-07, "rotY": -1.8423214E-05, "rotZ": -9.681729E-07, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 6", "Description": "", "GMNotes": "Distant Market 6", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6bca4e", "Name": "ScriptingTrigger", "Transform": { "posX": -8.298298, "posY": 1.74963, "posZ": -4.097199, "rotX": -5.20933645E-06, "rotY": 0.03495709, "rotZ": -3.96221049E-06, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 7", "Description": "", "GMNotes": "Distant Market 7", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "436909", "Name": "ScriptingTrigger", "Transform": { "posX": -8.833652, "posY": 1.74963, "posZ": -4.08728933, "rotX": 2.18950618E-06, "rotY": 2.23861252E-06, "rotZ": 6.24687345E-07, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 8", "Description": "", "GMNotes": "Distant Market 8", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "617a3c", "Name": "ScriptingTrigger", "Transform": { "posX": -8.532613, "posY": 1.74963, "posZ": -4.84751654, "rotX": 1.66453935E-06, "rotY": 1.32945333E-05, "rotZ": -1.19520428E-06, "scaleX": 0.5, "scaleY": 0.5, "scaleZ": 0.5 }, "Nickname": "Distant Market 9", "Description": "", "GMNotes": "Distant Market 9", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a0a19f", "Name": "ScriptingTrigger", "Transform": { "posX": 5.68659449, "posY": 2.74963, "posZ": -0.264488429, "rotX": 2.37738641E-06, "rotY": 180.0162, "rotZ": 1.91600566E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Bury (S)", "Description": "", "GMNotes": "Bury (S)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4d037f", "Name": "ScriptingTrigger", "Transform": { "posX": 5.689539, "posY": 2.74963, "posZ": 0.8302728, "rotX": 1.08882841E-06, "rotY": 180.01622, "rotZ": 2.30511978E-06, "scaleX": 1.05, "scaleY": 2.5, "scaleZ": 1.05 }, "Nickname": "Bury (N)", "Description": "", "GMNotes": "Bury (N)", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7bd02e", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.5227747, "posY": 1.54740882, "posZ": -8.191986, "rotX": -1.51928E-07, "rotY": 180.0, "rotZ": 7.434408E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Cotton Mill II", "GMNotes": "Teal Cotton Mill II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "teal_cotton_mill_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146970/E3F423C2EB45E4F7FB0A69F40DC3A4ECA28D6707/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147042/77F43AB4E806FF44B8CCC0892A9217D2229F8EF1/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "4f167a", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.5118618, "posY": 1.54740894, "posZ": -5.5280304, "rotX": -9.455853E-08, "rotY": 180.0, "rotZ": -8.35190463E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Cotton Mill IV", "GMNotes": "Teal Cotton Mill IV", "ColorDiffuse": { "r": 0.249996662, "g": 0.249996662, "b": 0.249996662 }, "Tags": [ "cotton_mill", "teal_cotton_mill_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147252/9186F34D09AEDB59307C8D2E1C75979E37FBA8E5/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147314/F0A00F09C87037D1A31180118D15C43C870C1D1B/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "12", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "bbb569", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.6194992, "posY": 1.57240868, "posZ": -9.484708, "rotX": -1.91573534E-07, "rotY": 180.0, "rotZ": 1.348147E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Port I", "GMNotes": "Teal Port I", "ColorDiffuse": { "r": 0.249996722, "g": 0.249996722, "b": 0.249996722 }, "Tags": [ "port", "teal_port_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147832/2084A6569E36D40D9C73C8D60963459B1F84D5CC/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147899/58D167A0DAF5911A841ADC1A9935D1BC838C1BAF/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "83381d", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.61029, "posY": 1.57240868, "posZ": -8.16555, "rotX": -2.32580817E-07, "rotY": 180.000046, "rotZ": -2.96154212E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Port II", "GMNotes": "Teal Port II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "port", "teal_port_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147667/CCAF3EB273976EFCF86F8B37C9F2AE47BE91CA7B/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147751/B9555DBF26FB5AB04E0998915410844B0ED18C8E/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "60aa55", "Name": "Custom_Tile_Stack", "Transform": { "posX": 17.7517986, "posY": 1.57240868, "posZ": -8.167696, "rotX": -1.02047338E-07, "rotY": 179.999985, "rotZ": -1.19282333E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Shipyard I", "GMNotes": "Teal Shipyard I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "shipyard", "teal_shipyard_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148055/3CCBEA690B793DEFA40E3836CAE258074DDB270A/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148129/CA95FF9C2A641DDB98DCEEE8A16D26926AB7B91A/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "10", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "360139", "Name": "Custom_Tile_Stack", "Transform": { "posX": 17.75525, "posY": 1.57240868, "posZ": -6.83521032, "rotX": -2.93976058E-07, "rotY": 180.0, "rotZ": -9.993877E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Shipyard II", "GMNotes": "Teal Shipyard II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "shipyard", "teal_shipyard_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148195/BF20FF9FCE22E1636675A7EBCE789F38F8C310CA/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148262/A4CEA18E071E711EF57628A733402F690E762D79/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "18", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "9a34a1", "Name": "Custom_Tile", "Transform": { "posX": 19.8955135, "posY": 1.57240868, "posZ": -9.497812, "rotX": -5.27616661E-09, "rotY": 180.0, "rotZ": -1.09734287E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Iron Works I", "GMNotes": "Teal Iron Works I", "ColorDiffuse": { "r": 0.249996811, "g": 0.249996811, "b": 0.249996811 }, "Tags": [ "iron_works", "teal_iron_works_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140800/2DC2A6D66058671ABC6B7945EC8EB499211D4CBA/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140861/A0A087C95E3A633BACE8B8BEF503EF587317E3C7/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "e6b052", "Name": "Custom_Tile", "Transform": { "posX": 19.8863049, "posY": 1.57240868, "posZ": -8.178656, "rotX": 1.00357489E-07, "rotY": 180.0, "rotZ": 2.05302527E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Iron Works II", "GMNotes": "Teal Iron Works II", "ColorDiffuse": { "r": 0.249996811, "g": 0.249996811, "b": 0.249996811 }, "Tags": [ "iron_works", "teal_iron_works_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140688/C77E96F13D37E0E4CE9C9DBF0CF0E7990CACB8E3/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140749/FF2F2820190F5F2FE4FFB74343B915F1FCCB71AD/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "558fba", "Name": "Custom_Tile", "Transform": { "posX": 19.8896828, "posY": 1.57240868, "posZ": -6.846137, "rotX": -3.98844037E-07, "rotY": 180.0, "rotZ": 1.65108759E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Iron Works III", "GMNotes": "Teal Iron Works III", "ColorDiffuse": { "r": 0.249996811, "g": 0.249996811, "b": 0.249996811 }, "Tags": [ "iron_works", "teal_iron_works_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140588/6EDDBD4ADB2884D37AE9DC5862C76C67538DD9E1/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140641/C6B51B2F1170E91D640C0B0C3E25A413A733DBE7/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "7", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "15be28", "Name": "Custom_Tile", "Transform": { "posX": 19.8950787, "posY": 1.57240868, "posZ": -5.52175856, "rotX": -4.70220755E-07, "rotY": 179.999954, "rotZ": 5.410195E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Iron Works IV", "GMNotes": "Teal Iron Works IV", "ColorDiffuse": { "r": 0.249996811, "g": 0.249996811, "b": 0.249996811 }, "Tags": [ "iron_works", "teal_iron_works_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140421/E9784EB444F144743300D53AE633A3BBD14D3AAE/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140495/BF9CFA2A0FC7834B031A75233E310876147F6FC4/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "3e0532", "Name": "Custom_Tile", "Transform": { "posX": 22.0094147, "posY": 1.57240868, "posZ": -9.510904, "rotX": -3.095745E-07, "rotY": 180.0, "rotZ": -2.70637663E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Coal Mine I", "GMNotes": "Teal Coal Mine I", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "teal_coal_mine_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140920/A68921556712EE7067484CCB46AD53A90C6483BA/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758140975/8866730A4B6D49AA1E3906F0D2AD5263D5A59EBD/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.153472856, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "1", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "163fb7", "Name": "Custom_Tile_Stack", "Transform": { "posX": 22.000536, "posY": 1.57240868, "posZ": -8.184089, "rotX": 5.680248E-09, "rotY": 180.0, "rotZ": -2.29241891E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Coal Mine II", "GMNotes": "Teal Coal Mine II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "coal_mine", "teal_coal_mine_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148675/78CCE54C4D9B0DF16DEBE1DF914402AB4BC159A5/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148750/A718F4E5DA55609446F536BA4DE00FADA184344E/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "014c4b", "Name": "Custom_Tile_Stack", "Transform": { "posX": 22.0035858, "posY": 1.57240868, "posZ": -6.85922575, "rotX": -2.195872E-07, "rotY": 180.0, "rotZ": -1.99931478E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Coal Mine III", "GMNotes": "Teal Coal Mine III", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "coal_mine", "teal_coal_mine_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148528/B64C9AD46D509E6688893C4A1BD10271CA3DCA96/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148607/B47541EB00296B62B508CD4E62C84EF63B6F206D/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "ed289b", "Name": "Custom_Tile_Stack", "Transform": { "posX": 22.00898, "posY": 1.57240868, "posZ": -5.53484726, "rotX": -2.15943047E-07, "rotY": 180.0, "rotZ": -5.448238E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Coal Mine IV", "GMNotes": "Teal Coal Mine IV", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "coal_mine", "teal_coal_mine_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148333/C00E1ADCB6BC78BE01D88F89C2BC4FAEB92AED66/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148408/298078C92F7E8BB0B194D474EE93E7BD84523495/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "92cedf", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.541832, "posY": 1.54740882, "posZ": -9.512129, "rotX": -1.03122716E-06, "rotY": 180.0, "rotZ": -4.12424157E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Cotton Mill I", "GMNotes": "Teal Cotton Mill I", "ColorDiffuse": { "r": 0.249996811, "g": 0.249996811, "b": 0.249996811 }, "Tags": [ "cotton_mill", "teal_cotton_mill_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146821/7AB77EE1BE5605BC6C235D2B6EE5D415F0E8F7D9/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146895/7FD12F99D4FDE9EE0938B0519AFA4ACC002A56F9/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "6fe82b", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.54223, "posY": 1.52225018, "posZ": 5.48765755, "rotX": 0.003963058, "rotY": 179.996933, "rotZ": 0.0124627221, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Cotton Mill I", "GMNotes": "Purple Cotton Mill I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "purple_cotton_mill_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152142/FD767CD5BAAF1872A0AFD1785FD7810AF8D1D48E/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152211/07825D95423703DB728A01A5D16BEF7533BFA951/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "5a79c9", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.53296, "posY": 1.52234352, "posZ": 6.80681467, "rotX": 0.00396524137, "rotY": 179.986633, "rotZ": 0.0124612786, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Cotton Mill II", "GMNotes": "Purple Cotton Mill II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "purple_cotton_mill_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152286/F2BD9F7DBAC53DA67EFBE84AD7D17C4E9985E569/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152361/A44D8AC15DDFE596D9105C722C408567CC3AA503/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "ab358b", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.5364637, "posY": 1.52243507, "posZ": 8.144766, "rotX": 0.003964284, "rotY": 180.003464, "rotZ": 0.0124621028, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Cotton Mill III", "GMNotes": "Purple Cotton Mill III", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "purple_cotton_mill_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152443/F333CC6D53CBF85E2B445C766BFCFEB72C9BE478/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152511/9FCADB37F8A23C516BA7F0B798AA2CA6E93373A5/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "b5295c", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.6106434, "posY": 1.57189369, "posZ": 6.83432055, "rotX": 0.00396016566, "rotY": 180.006, "rotZ": 0.0124577079, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Port II", "GMNotes": "Purple Port II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "port", "purple_port_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151702/83AA5EC838800FE2F3008CFC2F084E54E8784131/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151773/3C2F68D43C27D72820A791747EE1DF01D5E00566/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "2c7a0d", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.6139793, "posY": 1.57198513, "posZ": 8.166831, "rotX": 0.00396023458, "rotY": 180.006256, "rotZ": 0.0124580888, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Port III", "GMNotes": "Purple Port III", "ColorDiffuse": { "r": 0.249996722, "g": 0.249996722, "b": 0.249996722 }, "Tags": [ "port", "purple_port_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151847/56F50711C9821AFF2B6843AC519C9B29334A7DED/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151915/731A6D9E24DC02B76B282A882CCDD240EDBCD9F1/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "6", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "a5beec", "Name": "Custom_Tile_Stack", "Transform": { "posX": 17.7521915, "posY": 1.571428, "posZ": 6.832244, "rotX": 0.00396586349, "rotY": 179.979919, "rotZ": 0.0124560306, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Shipyard I", "GMNotes": "Purple Shipyard I", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "purple_shipyard_1", "shipyard" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151298/0E2CE68B3DB0559D85E0B1D73D0CBC9C778D4E84/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151361/1AC009AA0C3C79E9117D33896E543354A4D18E9B/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "10", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "904a9c", "Name": "Custom_Tile_Stack", "Transform": { "posX": 17.7555122, "posY": 1.57151937, "posZ": 8.1647625, "rotX": 0.0039599333, "rotY": 180.0064, "rotZ": 0.0124583719, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Shipyard II", "GMNotes": "Purple Shipyard II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "purple_shipyard_2", "shipyard" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151427/FB37AD7772F8BB06FEBA7D0AD6DB697896B2D668/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151489/3C959342E543E1F8BCC5D7334C239C29C2C3917C/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "18", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "6b48f6", "Name": "Custom_Tile", "Transform": { "posX": 19.8959217, "posY": 1.57086992, "posZ": 5.50225735, "rotX": 0.003959866, "rotY": 180.006653, "rotZ": 0.0124578839, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Iron Works I", "GMNotes": "Purple Iron Works I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "purple_iron_works_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142737/020ECD7841F32F910F209AE6A21CBC75C0BE1EF1/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142818/4D3C6F2818137476357456BE33C96C5FD8CBC5B7/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "ca9f98", "Name": "Custom_Tile", "Transform": { "posX": 19.88665, "posY": 1.57096314, "posZ": 6.82141256, "rotX": 0.003963912, "rotY": 179.989044, "rotZ": 0.0124569749, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Iron Works II", "GMNotes": "Purple Iron Works II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "purple_iron_works_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142600/29FD7AE387CBAE802EAB11627C7F4E9A5AB8DFCB/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142671/869185336FABEE06449BE6036A4C71E667068E41/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "17e08b", "Name": "Custom_Tile", "Transform": { "posX": 19.88995, "posY": 1.57105458, "posZ": 8.153917, "rotX": 0.00396021, "rotY": 180.005478, "rotZ": 0.0124578662, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Iron Works III", "GMNotes": "Purple Iron Works III", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "purple_iron_works_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142282/ADCAB0EB5C93F2DA00C0F646C7E77C16BD513E04/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142361/14486EE60638BFB15532F316AE5A76B45C611824/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "7", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "f9599e", "Name": "Custom_Tile", "Transform": { "posX": 19.8953075, "posY": 1.571145, "posZ": 9.478311, "rotX": 0.003963145, "rotY": 179.9914, "rotZ": 0.012456947, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Iron Works IV", "GMNotes": "Purple Iron Works IV", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "purple_iron_works_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142441/436493B059F0EFDC7D8022EB4DAD257A1A9365B6/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142518/CD2CD6B82641D212E1ABFFDB864FD9B4453500E0/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "809733", "Name": "Custom_Tile", "Transform": { "posX": 22.009819, "posY": 1.57040954, "posZ": 5.489263, "rotX": 0.00395760173, "rotY": 180.01799, "rotZ": 0.0124587147, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Coal Mine I", "GMNotes": "Purple Coal Mine I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "coal_mine", "purple_coal_mine_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142896/9BE91A2867A5F18B2E1CAB8061350DB53E7A8367/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142981/D16AC5F83AFDFC9787270CF1C08C4E01BBB1EAFB/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "1", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "761df7", "Name": "Custom_Tile_Stack", "Transform": { "posX": 22.0005379, "posY": 1.57050276, "posZ": 6.808421, "rotX": 0.00396016426, "rotY": 180.006653, "rotZ": 0.0124578821, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Coal Mine II", "GMNotes": "Purple Coal Mine II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "purple_coal_mine_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151085/84353F4BFB3801115563A3F54A64A2BEB0F65363/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151156/5F921A68C0508EAA654B43D402B75D29CFE0C059/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "ff653e", "Name": "Custom_Tile_Stack", "Transform": { "posX": 22.0038872, "posY": 1.57059419, "posZ": 8.140932, "rotX": 0.003959876, "rotY": 180.007172, "rotZ": 0.0124580869, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Coal Mine III", "GMNotes": "Purple Coal Mine III", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "purple_coal_mine_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150948/56D660AD86C8763D640542FBCD2E8660884E0964/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151019/A2F1D5FA431BD3B3169C5C7EABEC79292DFD11D6/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "ad1441", "Name": "Custom_Tile_Stack", "Transform": { "posX": 22.0092182, "posY": 1.57068455, "posZ": 9.465314, "rotX": 0.00396024669, "rotY": 180.0064, "rotZ": 0.01245789, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Coal Mine IV", "GMNotes": "Purple Coal Mine IV", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "purple_coal_mine_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150820/A0AA577ADC5E0806E007AE1D635C15966C57C430/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150880/F738A6389D662B0660BA68C6B3CD1EC6DF4850BE/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "02314f", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.95794, "posY": 1.5224086, "posZ": -9.512132, "rotX": -1.82386415E-07, "rotY": 180.0, "rotZ": -1.05189962E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Cotton Mill I", "GMNotes": "Orange Cotton Mill I", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "cotton_mill", "orange_cotton_mill_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758144842/BB5F9F1BFEE1A0E47FA5A2E7269BEAEB2F9B465B/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758144916/7C883DE15FCA9694171676BB323513A3B2A03E29/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "db54d1", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.96715, "posY": 1.5224086, "posZ": -8.192978, "rotX": -4.45234534E-08, "rotY": 180.025482, "rotZ": -6.74932551E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Cotton Mill II", "GMNotes": "Orange Cotton Mill II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "orange_cotton_mill_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758144988/C6CCE8CFD6CA9C37B9CA67A0A1B93AD573D6E988/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145053/31888AD84C9EA2D8416CC31AAA6C6C9D6013F407/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "4ab376", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.9635868, "posY": 1.5224086, "posZ": -6.855025, "rotX": 8.38996E-08, "rotY": 180.0158, "rotZ": -1.32338286E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Cotton Mill III", "GMNotes": "Orange Cotton Mill III", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "orange_cotton_mill_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145124/153484CD6D8B62BA9BC83A1AAC334AD74CE8E278/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145199/5A5C00BDA649B495B58AA5214C5419A1462ABE0E/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "96181b", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.9879112, "posY": 1.5224086, "posZ": -5.528033, "rotX": 6.90406736E-08, "rotY": 180.0, "rotZ": -4.562221E-10, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Cotton Mill IV", "GMNotes": "Orange Cotton Mill IV", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "orange_cotton_mill_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145274/147A388396686D1E8C1CBC4D8E5709C36A488A53/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145388/5293798134ACCE33B63623AA1D6BE5CE33ED4520/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "12", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "2e5b01", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.8802719, "posY": 1.57240868, "posZ": -9.484708, "rotX": 6.83073438E-08, "rotY": 180.0, "rotZ": 6.179448E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Port I", "GMNotes": "Orange Port I", "ColorDiffuse": { "r": 0.249996692, "g": 0.249996692, "b": 0.249996692 }, "Tags": [ "orange_port_1", "port" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145871/98890C380F6B38142130F6556DD36AC85ECA17BC/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145958/54BCC539E30C159EA4B9F3CF9470A2B9791B152B/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "20bb7a", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.8894825, "posY": 1.57240868, "posZ": -8.16555, "rotX": -1.42334386E-07, "rotY": 180.0089, "rotZ": -1.6723439E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Port II", "GMNotes": "Orange Port II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "orange_port_2", "port" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145740/2882CE3CE26EAD4B7CDC17D694033CBF49C0EED7/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145800/62A9773DB361EE614C7EB36722C19729ADDE7A9D/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "440f93", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.8861065, "posY": 1.57240868, "posZ": -6.8330307, "rotX": 1.63309878E-07, "rotY": 180.008789, "rotZ": -5.13611838E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Port III", "GMNotes": "Orange Port III", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "orange_port_3", "port" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145595/06CE01316820B6325DFB5F614A51C308A275EBE8/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145666/7F67D67C2E41417DFC2B75D9E12771AA559B07E5/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "6", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "978043", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.8807125, "posY": 1.57240868, "posZ": -5.508652, "rotX": -2.446366E-07, "rotY": 180.02562, "rotZ": -4.012872E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Port IV", "GMNotes": "Orange Port IV", "ColorDiffuse": { "r": 0.249996692, "g": 0.249996692, "b": 0.249996692 }, "Tags": [ "orange_port_4", "port" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145455/923BABCCBE6E51CF51556F3F2BCAB754589A009B/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758145533/12B0C1CCBB09DC74A0BC743C878BA5EFD0DB2BC0/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "1883fa", "Name": "Custom_Tile_Stack", "Transform": { "posX": -17.73869, "posY": 1.57240868, "posZ": -9.486885, "rotX": 4.564464E-08, "rotY": 180.0, "rotZ": -1.91543023E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "", "Description": "Orange Shipyard Precursor", "GMNotes": "Orange Shipyard Precursor", "ColorDiffuse": { "r": 0.247056961, "g": 0.247056961, "b": 0.247056961 }, "Tags": [ "orange_shipyard_pre" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146023/025A22B52A77B4A3816090FD00CDD137B9C15DE1/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5f6afd", "Name": "Custom_Tile_Stack", "Transform": { "posX": -17.74881, "posY": 1.57240868, "posZ": -8.166695, "rotX": -2.385014E-07, "rotY": 180.0, "rotZ": 1.47270569E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Shipyard I", "GMNotes": "Orange Shipyard I", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "orange_shipyard_1", "shipyard" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146086/C14DF580BA391AA72CCFFD125BEBC0326FA59EC4/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146150/CB1ECBF96F0B1A794E5779A7F684AD6507F25B9D/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "10", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "1c78df", "Name": "Custom_Tile_Stack", "Transform": { "posX": -17.744524, "posY": 1.57240868, "posZ": -6.835208, "rotX": -1.87746778E-07, "rotY": 180.000015, "rotZ": -5.7032512E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Shipyard II", "GMNotes": "Orange Shipyard II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "orange_shipyard_2", "shipyard" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146223/B57F97809AF7567D57E2B072B4672C07C5C89A06/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146296/6967352047800B176F2704B14B99588D9AF023BA/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "18", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "81503c", "Name": "Custom_Tile", "Transform": { "posX": -15.6042566, "posY": 1.57240868, "posZ": -9.4978075, "rotX": 5.03954674E-08, "rotY": 180.022339, "rotZ": -4.22048636E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Iron Works I", "GMNotes": "Orange Iron Works I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "orange_iron_works_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141393/6EFD08157177E93B16A8638D0BE1BD36418BDB8E/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141444/A3D2C974CB069AD93F1607961D54F6E82F6AF18C/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "593403", "Name": "Custom_Tile", "Transform": { "posX": -15.6134682, "posY": 1.57240868, "posZ": -8.178651, "rotX": 2.516015E-08, "rotY": 180.017685, "rotZ": 2.51531759E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Iron Works II", "GMNotes": "Orange Iron Works II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "orange_iron_works_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141279/AEC6C82B87513CC4DE20E418E020B4AB4BAC3CC6/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141334/F4C157B8FD8739740F66C3886FCDC5456409110F/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "c498c8", "Name": "Custom_Tile", "Transform": { "posX": -15.61009, "posY": 1.57240868, "posZ": -6.84613228, "rotX": -4.50955682E-08, "rotY": 179.979523, "rotZ": 1.17936381E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Iron Works III", "GMNotes": "Orange Iron Works III", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "orange_iron_works_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141162/B3CB03AD9E041CD8CA900BEE2CE1451A76FB26D3/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141223/15527BD01A6CD237C9E286BFE4F33FAD64810F69/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "7", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "98147d", "Name": "Custom_Tile", "Transform": { "posX": -15.6046972, "posY": 1.57240868, "posZ": -5.52175331, "rotX": -4.01685547E-08, "rotY": 180.006256, "rotZ": 8.132537E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Iron Works IV", "GMNotes": "Orange Iron Works IV", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "orange_iron_works_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141034/800539F87166E1521E9C13E490DBEE23C0004BF8/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141101/E6D6D3FDC9DCF0A673279DE2B6DED9652418E158/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "09b48f", "Name": "Custom_Tile", "Transform": { "posX": -13.4903564, "posY": 1.57240868, "posZ": -9.510897, "rotX": -7.032568E-08, "rotY": 180.005, "rotZ": -1.94431962E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Coal Mine I", "GMNotes": "Orange Coal Mine I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "coal_mine", "orange_coal_mine_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141498/63EA6A27802A623D685C4CF069CCD5F0C183B310/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141559/604033F08E674154CC6F0B1D60A196CD08F24E78/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "1", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "99a022", "Name": "Custom_Tile_Stack", "Transform": { "posX": -13.4995651, "posY": 1.57240868, "posZ": -8.19174, "rotX": 4.009476E-08, "rotY": 180.007675, "rotZ": -1.73608559E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Coal Mine II", "GMNotes": "Orange Coal Mine II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "orange_coal_mine_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146375/A947E2FFEEE2EC72B7EE2A5650612894988EEE79/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146438/8686A70D0FB6F4CC14DABB88E5D7EAA4E119B43B/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "f8decc", "Name": "Custom_Tile_Stack", "Transform": { "posX": -13.4961891, "posY": 1.57240868, "posZ": -6.8592186, "rotX": -1.51496315E-09, "rotY": 180.026749, "rotZ": 1.0278319E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Coal Mine III", "GMNotes": "Orange Coal Mine III", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "orange_coal_mine_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146527/4FD6CB78DF82D2EE6636ACDCCC418E87B2B323EC/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146589/F6F3D02AFB602A75B39E5AC21BAEE18B2E578875/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "5454a0", "Name": "Custom_Tile_Stack", "Transform": { "posX": -13.4907961, "posY": 1.57240868, "posZ": -5.53483963, "rotX": -2.35902959E-07, "rotY": 180.006683, "rotZ": -3.30262964E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Orange Coal Mine IV", "GMNotes": "Orange Coal Mine IV", "ColorDiffuse": { "r": 0.249996692, "g": 0.249996692, "b": 0.249996692 }, "Tags": [ "coal_mine", "orange_coal_mine_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146646/19FE44DDE83BB5B7159E6A8DE4C5BB976741FBA1/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758146714/E31145CB5B19AC0A2E9ECA64D85B85BE6D100B4D/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "e20f3d", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.9570484, "posY": 1.52240837, "posZ": 5.488674, "rotX": 1.37983221E-07, "rotY": 180.000656, "rotZ": 4.300663E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Cotton Mill I", "GMNotes": "Yellow Cotton Mill I", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "cotton_mill", "yellow_cotton_mill_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148831/BFDA86CEA784A751C8B21839FD48FD1995D01565/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148910/B6D791C733612515309DD1F1DB2D234CD18AD2EC/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "04b91b", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.9660225, "posY": 1.52240849, "posZ": 6.80782938, "rotX": -3.068962E-07, "rotY": 179.985672, "rotZ": 1.956956E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Cotton Mill II", "GMNotes": "Yellow Cotton Mill II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "yellow_cotton_mill_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758148979/9A8ABC42357F41DCD7AE3B56A1E5E957352E65AE/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149067/85B4945A0D2F17B43C2737C0228B5C7195DCE263/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "c41516", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.9622173, "posY": 1.52240837, "posZ": 8.145782, "rotX": -3.395071E-08, "rotY": 179.99826, "rotZ": -2.097496E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Cotton Mill III", "GMNotes": "Yellow Cotton Mill III", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "yellow_cotton_mill_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149138/F5F18DCACE9068767E2D1D554D5F75116FA85215/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149198/5CC212519BCB17C66775C6BAB32630582F61B353/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "284430", "Name": "Custom_Tile_Stack", "Transform": { "posX": -21.9863052, "posY": 1.52240849, "posZ": 9.472778, "rotX": -9.42054257E-08, "rotY": 180.002792, "rotZ": 4.889193E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Cotton Mill IV", "GMNotes": "Yellow Cotton Mill IV", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "yellow_cotton_mill_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149267/CA649184F51B04F2D35EF12A2948A001C57D218A/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149339/40B3F830AF8B184AB28BB47BDF52B6C76DC0483B/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "12", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "80c1cd", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.8793755, "posY": 1.57240856, "posZ": 5.515722, "rotX": -2.28773747E-08, "rotY": 179.999924, "rotZ": -1.88078761E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Port I", "GMNotes": "Yellow Port I", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "port", "yellow_port_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149406/399800B346F3EC4260DBE66C2334218016064BA0/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149472/B9E33D739D85E1FCBC7A0146839515A339B7C159/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "2ed929", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.88835, "posY": 1.57240856, "posZ": 6.83488274, "rotX": -1.94110186E-08, "rotY": 180.001465, "rotZ": 5.985503E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Port II", "GMNotes": "Yellow Port II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "port", "yellow_port_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149551/0B97BF6450BB3B784AD79036F3D04FA8BB7175CD/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149626/BB774221ADEBAF71C8E7969DA254FC68A970E4C4/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "419084", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.8847313, "posY": 1.57240856, "posZ": 8.167401, "rotX": -5.894655E-08, "rotY": 180.001953, "rotZ": 5.969162E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Port III", "GMNotes": "Yellow Port III", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "port", "yellow_port_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149692/86CDF93B4587FE1A393A5756D0B3C8266CE0F6A4/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149763/1110921A12388F1DD1A21BE3950214F01A684E0C/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "6", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "a5ca69", "Name": "Custom_Tile_Stack", "Transform": { "posX": -19.8791, "posY": 1.57240856, "posZ": 9.491778, "rotX": -5.270376E-08, "rotY": 180.002533, "rotZ": 9.957154E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Port IV", "GMNotes": "Yellow Port IV", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "port", "yellow_port_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149833/A610899F9614E157DF07A44173D51A868B84A50B/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758149960/6131344D9151F6CD64C986046FB7BB9752309A35/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "699f5e", "Name": "Custom_Tile_Stack", "Transform": { "posX": -17.7377949, "posY": 1.57240856, "posZ": 5.51315975, "rotX": -1.60982509E-07, "rotY": 180.0, "rotZ": -8.45004E-09, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "", "Description": "Yellow Shipyard Precursor", "GMNotes": "Yellow Shipyard Precursor", "ColorDiffuse": { "r": 0.249996692, "g": 0.249996692, "b": 0.249996692 }, "Tags": [ "yellow_shipyard_pre" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150316/16FEDF0CCA680E61D0449A9514AF85079A826B59/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3d4157", "Name": "Custom_Tile_Stack", "Transform": { "posX": -17.746769, "posY": 1.57240856, "posZ": 6.83231831, "rotX": 1.881097E-07, "rotY": 180.0021, "rotZ": -8.648881E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Shipyard I", "GMNotes": "Yellow Shipyard I", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "shipyard", "yellow_shipyard_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150031/67CC41A3DA28864FBE348FC6ADB5E8BD259FFE80/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150103/52E93F383F0D58214681D3B70AEE91490A11C795/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "10", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "ad408f", "Name": "Custom_Tile_Stack", "Transform": { "posX": -17.74315, "posY": 1.57240856, "posZ": 8.164837, "rotX": 2.351056E-08, "rotY": 180.002045, "rotZ": 2.01579553E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Shipyard II", "GMNotes": "Yellow Shipyard II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "shipyard", "yellow_shipyard_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150168/E31C04583F1E611A834BB0C386CB939C51DD52CE/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150240/09831072D5E4D97AFF98E350B12553AC8EC064A3/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "18", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "bff490", "Name": "Custom_Tile", "Transform": { "posX": -15.603364, "posY": 1.57240856, "posZ": 5.50185061, "rotX": -1.18616626E-07, "rotY": 180.027191, "rotZ": 6.48606147E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Iron Works I", "GMNotes": "Yellow Iron Works I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "yellow_iron_works_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141964/8E0E06DCFDF10D6821EC98C53AB1B9F0C4E990FF/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142025/E3E64772AA79D5267CCBFAFFC682353CA5E02911/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "a73066", "Name": "Custom_Tile", "Transform": { "posX": -15.6123371, "posY": 1.57240856, "posZ": 6.82101, "rotX": 6.690982E-08, "rotY": 179.993149, "rotZ": -1.0752607E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Iron Works II", "GMNotes": "Yellow Iron Works II", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "yellow_iron_works_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141845/E522E7BB4487499C3E22B24235D6C50030976CC5/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141902/606828A1B9AA4C1CB1CDC01BC8DAB419811E7E0A/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "5", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "1953e8", "Name": "Custom_Tile", "Transform": { "posX": -15.6087189, "posY": 1.57240856, "posZ": 8.153528, "rotX": -5.820357E-08, "rotY": 180.003281, "rotZ": 1.48060209E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Iron Works III", "GMNotes": "Yellow Iron Works III", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "yellow_iron_works_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141735/DB2724B748969D8831E6FC7A8F22135C0EC7EFBF/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141790/E318585797ED9D8F8CC4464092E05CE26658D2B7/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "7", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "923f40", "Name": "Custom_Tile", "Transform": { "posX": -15.6030874, "posY": 1.57240856, "posZ": 9.477905, "rotX": 2.08373532E-08, "rotY": 180.01796, "rotZ": 7.115899E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Iron Works IV", "GMNotes": "Yellow Iron Works IV", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "iron_works", "yellow_iron_works_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141616/8B226E72629F9E6907D5E5FD5C4EB9B8DB03C06C/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758141670/3CD90E417C361F6BA9EDB4F8C4060683E65C3C66/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "404faf", "Name": "Custom_Tile", "Transform": { "posX": -13.4894667, "posY": 1.57240856, "posZ": 5.48838043, "rotX": -2.223025E-08, "rotY": 179.999481, "rotZ": -1.23129979E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Coal Mine I", "GMNotes": "Yellow Coal Mine I", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "coal_mine", "yellow_coal_mine_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142109/7D7148DCA0CDF4FDD36A6A31B4DDE2CC118FFB9C/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758142186/7C58289915A5F45FA79278EC1844C9B7609F2D18/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "1", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "00fa7b", "Name": "Custom_Tile_Stack", "Transform": { "posX": -13.498436, "posY": 1.57240856, "posZ": 6.80754566, "rotX": -6.23163166E-09, "rotY": 180.001266, "rotZ": -2.993299E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Coal Mine II", "GMNotes": "Yellow Coal Mine II", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "yellow_coal_mine_2" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150676/B4E5A3409F6CF0B48DF4079B4A94E493CD69F61C/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150756/6FC860FF55DAFC2D11AA8EF5281ADED719B517A2/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "936b67", "Name": "Custom_Tile_Stack", "Transform": { "posX": -13.49482, "posY": 1.57240856, "posZ": 8.14006, "rotX": 1.57693719E-07, "rotY": 180.000916, "rotZ": -1.70384155E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Coal Mine III", "GMNotes": "Yellow Coal Mine III", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "yellow_coal_mine_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150531/4BAF9FF2D6E8312CE07BBC0029F1F7DD889EABF7/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150603/EC37BE65EEF306C32EF129A5B53F9DC989AE57F1/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "3", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "37301d", "Name": "Custom_Tile_Stack", "Transform": { "posX": -13.4891882, "posY": 1.57240856, "posZ": 9.46443748, "rotX": -9.383654E-08, "rotY": 180.000778, "rotZ": -1.05725725E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Yellow Coal Mine IV", "GMNotes": "Yellow Coal Mine IV", "ColorDiffuse": { "r": 0.249996752, "g": 0.249996752, "b": 0.249996752 }, "Tags": [ "coal_mine", "yellow_coal_mine_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150384/9D86ADE375776C9563B367B4B10216D4C965163E/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758150447/038D4BE7B39E4C23DB05B6E97512556F7CC5265E/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "4", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "8277dd", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.5365705, "posY": 1.54740894, "posZ": -6.85751152, "rotX": -1.686469E-07, "rotY": 180.0, "rotZ": 1.93225091E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Cotton Mill III", "GMNotes": "Teal Cotton Mill III", "ColorDiffuse": { "r": 0.249996811, "g": 0.249996811, "b": 0.249996811 }, "Tags": [ "cotton_mill", "teal_cotton_mill_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147108/C5AADB1F2E0C4E9259C6E791620B8002B76BDB50/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147182/1CCB3AAF09596E78B1ACFAA2B9A53F4DA5963E91/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "91ea86", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.6190624, "posY": 1.57240868, "posZ": -5.50865126, "rotX": -3.17165615E-07, "rotY": 180.000092, "rotZ": 2.2309786E-08, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Port IV", "GMNotes": "Teal Port IV", "ColorDiffuse": { "r": 0.249996722, "g": 0.249996722, "b": 0.249996722 }, "Tags": [ "port", "teal_port_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147374/97740DC0C48704F835A54D94F50FDD1F6D85FFD9/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147450/11D97195577B3B382BF9F5BB39B8881084495609/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "5b9ac0", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.6136684, "posY": 1.57240868, "posZ": -6.8330307, "rotX": -3.55725319E-07, "rotY": 180.000076, "rotZ": 1.80084783E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Teal Port III", "GMNotes": "Teal Port III", "ColorDiffuse": { "r": 0.249996692, "g": 0.249996692, "b": 0.249996692 }, "Tags": [ "port", "teal_port_3" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147514/67809CF30F641F8B549EC5F040BAFA2F6AE9F273/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147599/6286F18406CB24ADBE8674E4EEB620FE120E730A/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.150000259, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "6", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "84c06e", "Name": "Custom_Tile_Stack", "Transform": { "posX": 13.5120878, "posY": 1.52253234, "posZ": 9.471751, "rotX": 0.003962399, "rotY": 180.00264, "rotZ": 0.0124620693, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Cotton Mill IV", "GMNotes": "Purple Cotton Mill IV", "ColorDiffuse": { "r": 0.249996781, "g": 0.249996781, "b": 0.249996781 }, "Tags": [ "cotton_mill", "purple_cotton_mill_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 3, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152590/465CF0A203347A7ED394F544E47F100CB1DBD28D/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152663/49FA16D04BADC22A83465E818CD8D8CD77C7C965/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "12", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "f2d519", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.619276, "posY": 1.57207561, "posZ": 9.491231, "rotX": 0.00396746, "rotY": 179.972885, "rotZ": 0.0124554355, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Port IV", "GMNotes": "Purple Port IV", "ColorDiffuse": { "r": 0.249996573, "g": 0.249996573, "b": 0.249996573 }, "Tags": [ "port", "purple_port_4" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151989/A9ECB9732568A36BBD0018AC871FF2DACD38FB01/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758152076/E8C598FAFA34322C04E0F9D052A257B69F2C0350/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "9", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "f4387c", "Name": "Custom_Tile_Stack", "Transform": { "posX": 15.6199141, "posY": 1.57180047, "posZ": 5.51516056, "rotX": 0.003960961, "rotY": 180.002869, "rotZ": 0.0124576874, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "Points", "Description": "Purple Port I", "GMNotes": "Purple Port I", "ColorDiffuse": { "r": 0.249996692, "g": 0.249996692, "b": 0.249996692 }, "Tags": [ "port", "purple_port_1" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151550/C66FB84131F54DD80405AF173FA22FF90B3912BA/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151634/FAA0EC890F970931DCA60213EFFC925D6BF525BA/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "RotationValues": [ { "Value": "0", "Rotation": { "x": 0.0, "y": 180.0, "z": 0.0 } }, { "Value": "2", "Rotation": { "x": 0.0, "y": 180.0, "z": 180.0 } } ] }, { "GUID": "06f6e9", "Name": "ScriptingTrigger", "Transform": { "posX": 2.35667658, "posY": 1.69963, "posZ": -8.30883, "rotX": 3.26059421E-07, "rotY": 269.999817, "rotZ": 1.24148869E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Northwich - The Midlands", "Description": "", "GMNotes": "Northwich - The Midlands", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4610a8", "Name": "ScriptingTrigger", "Transform": { "posX": 3.60343623, "posY": 1.69963, "posZ": -8.8736105, "rotX": -1.98203429E-06, "rotY": 150.0, "rotZ": 1.42855674E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Macclesfield - The Midlands", "Description": "", "GMNotes": "Macclesfield - The Midlands", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "dd8b61", "Name": "ScriptingTrigger", "Transform": { "posX": 7.72397947, "posY": 1.69963, "posZ": -7.90520525, "rotX": 1.44669857E-05, "rotY": 135.0, "rotZ": -7.677567E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Macclesfield - Stockport", "Description": "", "GMNotes": "Macclesfield - Stockport", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "14c4a7", "Name": "ScriptingTrigger", "Transform": { "posX": 5.8928833, "posY": 1.6996299, "posZ": -5.433252, "rotX": -4.21788314E-07, "rotY": 239.999985, "rotZ": -8.873713E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Manchester - Stockport", "Description": "", "GMNotes": "Manchester - Stockport", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "bc38fc", "Name": "ScriptingTrigger", "Transform": { "posX": 7.555093, "posY": 1.69963, "posZ": -4.10925674, "rotX": 3.43963251E-07, "rotY": 165.0, "rotZ": -5.92865661E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Manchester - Oldham", "Description": "", "GMNotes": "Manchester - Oldham", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "bfcd3a", "Name": "ScriptingTrigger", "Transform": { "posX": 3.49102235, "posY": 1.69963, "posZ": -3.65529156, "rotX": 1.03922457E-06, "rotY": 169.378433, "rotZ": 2.75072921E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Manchester - Warrington & Runcorn", "Description": "", "GMNotes": "Manchester - Warrington & Runcorn", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "63ad80", "Name": "ScriptingTrigger", "Transform": { "posX": -0.483007461, "posY": 1.69963, "posZ": -4.518016, "rotX": 1.66753466E-06, "rotY": 138.079987, "rotZ": 8.476046E-08, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Ellesmere Port - Warrington & Runcorn", "Description": "", "GMNotes": "Ellesmere Port - Warrington & Runcorn", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7f2bc1", "Name": "ScriptingTrigger", "Transform": { "posX": -0.643813133, "posY": 1.69963, "posZ": -3.29846215, "rotX": -7.504775E-07, "rotY": 195.0, "rotZ": -4.65991377E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Liverpool - Warrington & Runcorn", "Description": "", "GMNotes": "Liverpool - Warrington & Runcorn", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8e2ac6", "Name": "ScriptingTrigger", "Transform": { "posX": 0.588295162, "posY": 1.6996299, "posZ": -2.78635383, "rotX": -2.746415E-07, "rotY": 237.459991, "rotZ": -4.225816E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Warrington & Runcorn - Wigan", "Description": "", "GMNotes": "Warrington & Runcorn - Wigan", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "c378a7", "Name": "ScriptingTrigger", "Transform": { "posX": 0.7534301, "posY": 1.6996299, "posZ": -6.26122427, "rotX": -1.56891042E-06, "rotY": 189.600815, "rotZ": -1.33223978E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Ellesmere Port - Northwich", "Description": "", "GMNotes": "Ellesmere Port - Northwich", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f14ab3", "Name": "ScriptingTrigger", "Transform": { "posX": -3.37026238, "posY": 1.6996299, "posZ": -5.553798, "rotX": -1.947894E-06, "rotY": 202.638626, "rotZ": 6.40907956E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Birkenhead - Ellesmere Port", "Description": "", "GMNotes": "Birkenhead - Ellesmere Port", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "af204d", "Name": "ScriptingTrigger", "Transform": { "posX": -2.17598534, "posY": 1.6996299, "posZ": -4.789826, "rotX": -1.42455647E-07, "rotY": 240.232574, "rotZ": 2.58961421E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Ellesmere Port - Liverpool", "Description": "", "GMNotes": "Ellesmere Port - Liverpool", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d540b6", "Name": "ScriptingTrigger", "Transform": { "posX": -2.973805, "posY": 1.6996299, "posZ": -0.795500457, "rotX": 1.41959549E-06, "rotY": 269.999969, "rotZ": -4.981513E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Liverpool - Southport", "Description": "", "GMNotes": "Liverpool - Southport", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e0d583", "Name": "ScriptingTrigger", "Transform": { "posX": -1.26931286, "posY": 1.6996299, "posZ": -1.06250489, "rotX": -2.57313854E-06, "rotY": 135.000015, "rotZ": 1.45667752E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Liverpool - Wigan", "Description": "", "GMNotes": "Liverpool - Wigan", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5da6db", "Name": "ScriptingTrigger", "Transform": { "posX": -1.25925744, "posY": 1.6996299, "posZ": 0.4218917, "rotX": -8.403307E-07, "rotY": 179.997818, "rotZ": -6.44354429E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Southport - Wigan", "Description": "", "GMNotes": "Southport - Wigan", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "14cbda", "Name": "ScriptingTrigger", "Transform": { "posX": 1.28400564, "posY": 1.69963, "posZ": -1.32084084, "rotX": 1.68814318E-09, "rotY": 180.0, "rotZ": 1.41860085E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Bolton - Wigan", "Description": "", "GMNotes": "Bolton - Wigan", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2e310e", "Name": "ScriptingTrigger", "Transform": { "posX": 3.801792, "posY": 1.6996299, "posZ": -1.80887628, "rotX": -5.232479E-07, "rotY": 224.999985, "rotZ": -4.839169E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Bolton - Manchester", "Description": "", "GMNotes": "Bolton - Manchester", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4c642b", "Name": "ScriptingTrigger", "Transform": { "posX": 5.51619339, "posY": 1.6996299, "posZ": -1.48336387, "rotX": -1.37362406E-06, "rotY": 105.000008, "rotZ": 2.73304249E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Bury - Manchester", "Description": "", "GMNotes": "Bury - Manchester", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f4097d", "Name": "ScriptingTrigger", "Transform": { "posX": 8.997498, "posY": 1.6996299, "posZ": -1.45971859, "rotX": -9.104523E-07, "rotY": 96.92587, "rotZ": 1.5959605E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Oldham - Rochdale", "Description": "", "GMNotes": "Oldham - Rochdale", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "05b47e", "Name": "ScriptingTrigger", "Transform": { "posX": 9.914272, "posY": 1.6996299, "posZ": 1.46956754, "rotX": -7.041923E-07, "rotY": 269.999969, "rotZ": -2.76276182E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Rochdale - Yorkshire", "Description": "", "GMNotes": "Rochdale - Yorkshire", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "eaee25", "Name": "ScriptingTrigger", "Transform": { "posX": 7.097009, "posY": 1.6996299, "posZ": 0.912193, "rotX": -7.783338E-09, "rotY": 186.163712, "rotZ": 3.2369374E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Bury - Rochdale", "Description": "", "GMNotes": "Bury - Rochdale", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "12c4ca", "Name": "ScriptingTrigger", "Transform": { "posX": 9.483869, "posY": 1.6996299, "posZ": 4.57126856, "rotX": -4.347379E-07, "rotY": 239.999985, "rotZ": -3.02343039E-08, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Colne - Yorkshire", "Description": "", "GMNotes": "Colne - Yorkshire", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "069e2b", "Name": "ScriptingTrigger", "Transform": { "posX": 7.04531431, "posY": 1.6996299, "posZ": 4.668887, "rotX": -6.40455141E-07, "rotY": 174.101242, "rotZ": 2.22018954E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Burnley - Colne", "Description": "", "GMNotes": "Burnley - Colne", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b59ed4", "Name": "ScriptingTrigger", "Transform": { "posX": 4.412139, "posY": 1.6996299, "posZ": 4.5357523, "rotX": -4.45826657E-07, "rotY": 155.740341, "rotZ": 3.77225547E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Blackburn - Burnley", "Description": "", "GMNotes": "Blackburn - Burnley", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d0120f", "Name": "ScriptingTrigger", "Transform": { "posX": 3.19418788, "posY": 1.6996299, "posZ": 0.700974941, "rotX": -2.18090759E-06, "rotY": 90.00001, "rotZ": -4.320121E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Blackburn - Bolton", "Description": "", "GMNotes": "Blackburn - Bolton", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "048b74", "Name": "ScriptingTrigger", "Transform": { "posX": 4.31618166, "posY": 1.6996299, "posZ": 0.5233369, "rotX": 3.104741E-07, "rotY": 150.0, "rotZ": -1.18213927E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Bolton - Bury", "Description": "", "GMNotes": "Bolton - Bury", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cac219", "Name": "ScriptingTrigger", "Transform": { "posX": 1.56007028, "posY": 1.6996299, "posZ": 0.6971575, "rotX": -7.84664451E-07, "rotY": 150.0, "rotZ": -5.65271364E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Blackburn - Wigan", "Description": "", "GMNotes": "Blackburn - Wigan", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "79d991", "Name": "ScriptingTrigger", "Transform": { "posX": 1.77234948, "posY": 1.6996299, "posZ": 3.16886616, "rotX": -4.78838444E-07, "rotY": 203.0673, "rotZ": 1.67823066E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Blackburn - Preston", "Description": "", "GMNotes": "Blackburn - Preston", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4bcea1", "Name": "ScriptingTrigger", "Transform": { "posX": 0.09329458, "posY": 1.6996299, "posZ": 1.25134075, "rotX": 2.3220889E-07, "rotY": 269.999969, "rotZ": -1.97141912E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Preston - Wigan", "Description": "", "GMNotes": "Preston - Wigan", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f7d09d", "Name": "ScriptingTrigger", "Transform": { "posX": -1.56739569, "posY": 1.6996299, "posZ": 1.77401531, "rotX": -1.03883315E-06, "rotY": 135.000015, "rotZ": 1.17946922E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Preston - Southport", "Description": "", "GMNotes": "Preston - Southport", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4e1582", "Name": "ScriptingTrigger", "Transform": { "posX": -1.99369192, "posY": 1.6996299, "posZ": 3.332844, "rotX": 8.17504031E-07, "rotY": 158.193985, "rotZ": -6.54278153E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Blackpool - Preston", "Description": "", "GMNotes": "Blackpool - Preston", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "80624b", "Name": "ScriptingTrigger", "Transform": { "posX": -1.71422827, "posY": 1.6996299, "posZ": 4.70235634, "rotX": 6.385931E-07, "rotY": 207.433578, "rotZ": 5.40454948E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Fleetwood - Preston", "Description": "", "GMNotes": "Fleetwood - Preston", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "bdb232", "Name": "ScriptingTrigger", "Transform": { "posX": -0.2203674, "posY": 1.6996299, "posZ": 5.53883457, "rotX": 1.916338E-06, "rotY": 275.963, "rotZ": 4.04802478E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Lancaster - Preston", "Description": "", "GMNotes": "Lancaster - Preston", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6f2977", "Name": "ScriptingTrigger", "Transform": { "posX": -1.81404126, "posY": 1.6996299, "posZ": 8.736845, "rotX": -3.9965844E-08, "rotY": 205.928925, "rotZ": -4.075894E-07, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Barrow-in-Furness - Lancaster", "Description": "", "GMNotes": "Barrow-in-Furness - Lancaster", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "c8c36a", "Name": "ScriptingTrigger", "Transform": { "posX": 0.122286782, "posY": 1.6996299, "posZ": 8.555859, "rotX": 3.48659022E-08, "rotY": 268.999817, "rotZ": -1.69413067E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Lancaster - Scotland", "Description": "", "GMNotes": "Lancaster - Scotland", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "079905", "Name": "ScriptingTrigger", "Transform": { "posX": 5.930167, "posY": 1.6996299, "posZ": 2.46244717, "rotX": 5.633346E-07, "rotY": 269.999969, "rotZ": 1.521038E-06, "scaleX": 0.4, "scaleY": 0.4, "scaleZ": 0.4 }, "Nickname": "Burnley - Bury", "Description": "", "GMNotes": "Burnley - Bury", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "bb3394", "Name": "ScriptingTrigger", "Transform": { "posX": 6.51989937, "posY": 1.72462988, "posZ": 9.381292, "rotX": -1.75621409E-07, "rotY": 6.97291171E-06, "rotZ": 1.31823333E-06, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 8", "Description": "", "GMNotes": "Coal Market 8", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2e35ed", "Name": "ScriptingTrigger", "Transform": { "posX": 6.536148, "posY": 1.72462988, "posZ": 8.707377, "rotX": -5.880938E-08, "rotY": -2.67289875E-06, "rotZ": 1.423103E-06, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 6", "Description": "", "GMNotes": "Coal Market 6", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "39e20b", "Name": "ScriptingTrigger", "Transform": { "posX": 6.527736, "posY": 1.72462988, "posZ": 8.008817, "rotX": -1.643152E-06, "rotY": -1.80609766E-06, "rotZ": -7.223808E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 4", "Description": "", "GMNotes": "Coal Market 4", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "14aada", "Name": "ScriptingTrigger", "Transform": { "posX": 6.535759, "posY": 1.72462988, "posZ": 7.30202675, "rotX": -7.90559E-07, "rotY": 1.78788719E-06, "rotZ": -1.67228768E-06, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 2", "Description": "", "GMNotes": "Coal Market 2", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3c5ffd", "Name": "ScriptingTrigger", "Transform": { "posX": 7.024932, "posY": 1.72462988, "posZ": 7.29470444, "rotX": 1.05929428E-06, "rotY": -2.078491E-06, "rotZ": -1.34336312E-06, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 1", "Description": "", "GMNotes": "Coal Market 1", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ec2671", "Name": "ScriptingTrigger", "Transform": { "posX": 7.03727531, "posY": 1.72462988, "posZ": 8.008673, "rotX": -1.17669265E-06, "rotY": 3.36065938E-07, "rotZ": 2.15128779E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 3", "Description": "", "GMNotes": "Coal Market 3", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "56e563", "Name": "ScriptingTrigger", "Transform": { "posX": 7.03747225, "posY": 1.72462988, "posZ": 8.699859, "rotX": -6.57785051E-07, "rotY": 3.79161565E-06, "rotZ": 5.152388E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 5", "Description": "", "GMNotes": "Coal Market 5", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6c1ee9", "Name": "ScriptingTrigger", "Transform": { "posX": 7.021221, "posY": 1.72462988, "posZ": 9.389371, "rotX": 1.07066558E-06, "rotY": 1.45864879E-05, "rotZ": 6.369167E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Coal Market 7", "Description": "", "GMNotes": "Coal Market 7", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2beec8", "Name": "ScriptingTrigger", "Transform": { "posX": 7.78553, "posY": 1.72462988, "posZ": 9.385786, "rotX": -2.61375277E-07, "rotY": -5.555458E-06, "rotZ": -5.733777E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 8", "Description": "", "GMNotes": "Iron Market 8", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "2734e8", "Name": "ScriptingTrigger", "Transform": { "posX": 7.80177641, "posY": 1.72462988, "posZ": 8.711873, "rotX": 5.878573E-08, "rotY": -5.59513137E-06, "rotZ": -6.11875748E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 6", "Description": "", "GMNotes": "Iron Market 6", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6c2b6d", "Name": "ScriptingTrigger", "Transform": { "posX": 7.79336548, "posY": 1.72462988, "posZ": 8.01331, "rotX": 9.933119E-07, "rotY": 5.96652853E-07, "rotZ": -3.79412825E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 4", "Description": "", "GMNotes": "Iron Market 4", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "581ae8", "Name": "ScriptingTrigger", "Transform": { "posX": 7.801389, "posY": 1.72462988, "posZ": 7.30652142, "rotX": 1.47194882E-07, "rotY": -1.903322E-06, "rotZ": -1.59770207E-06, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 2", "Description": "", "GMNotes": "Iron Market 2", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "550e2a", "Name": "ScriptingTrigger", "Transform": { "posX": 8.290561, "posY": 1.72462988, "posZ": 7.29919863, "rotX": 3.21719881E-07, "rotY": -1.74594709E-06, "rotZ": 3.13266042E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 1", "Description": "", "GMNotes": "Iron Market 1", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "6581f5", "Name": "ScriptingTrigger", "Transform": { "posX": 8.302905, "posY": 1.72462988, "posZ": 8.013167, "rotX": 7.06455069E-07, "rotY": -1.16211561E-06, "rotZ": -3.0642255E-08, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 3", "Description": "", "GMNotes": "Iron Market 3", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3bcd07", "Name": "ScriptingTrigger", "Transform": { "posX": 8.3031, "posY": 1.72462988, "posZ": 8.704353, "rotX": 1.08010177E-07, "rotY": -1.8965942E-06, "rotZ": 8.0015667E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 5", "Description": "", "GMNotes": "Iron Market 5", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0a7292", "Name": "ScriptingTrigger", "Transform": { "posX": 8.286848, "posY": 1.72462988, "posZ": 9.393865, "rotX": -9.77592E-07, "rotY": 4.71556859E-06, "rotZ": -6.188695E-07, "scaleX": 0.45, "scaleY": 0.45, "scaleZ": 0.45 }, "Nickname": "Iron Market 7", "Description": "", "GMNotes": "Iron Market 7", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "ac11de", "Name": "ScriptingTrigger", "Transform": { "posX": -8.700375, "posY": 2.76154518, "posZ": 1.20019352, "rotX": 359.914, "rotY": -0.00106108445, "rotZ": 0.024240816, "scaleX": 2.5, "scaleY": 2.5, "scaleZ": 2.75 }, "Nickname": "Distant Market Discard Area", "Description": "", "GMNotes": "Distant Market Discard Area", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "064067", "Name": "Infinite_Bag", "Transform": { "posX": 3.07342152E-10, "posY": 1.45263, "posZ": 32.0, "rotX": 3.00071576E-07, "rotY": 4.972299E-08, "rotZ": 2.72634452E-07, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "Distant Market Decks for Three Players", "Description": "", "GMNotes": "Distant Market Decks for Three Players", "ColorDiffuse": { "r": 0.552941144, "g": 0.454901934, "b": 0.8745098 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "bc93fb", "Name": "Custom_Model_Bag", "Transform": { "posX": -1.16182491E-06, "posY": 3.55912852, "posZ": 31.00011, "rotX": 359.937347, "rotY": 0.005076762, "rotZ": -0.0006699495, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market Tiles for Three Players", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "LayoutGroupSortIndex": 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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662898316/172B5D50E2B73FB6B059AD5AFA73477D1B4F9CF7/", "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 }, "LuaScript": "----#include mods/Brass/lib/DistantMarket\nfunction onLoad()\r\n -- Clickable area\r\n self.createButton({\r\n click_function = \"on_click_sell_to_distant_market\",\r\n position = { 0, 0.2, 0.05 },\r\n height = 900,\r\n width = 850,\r\n color = { 1, 1, 1, 0 },\r\n label = \"\",\r\n })\r\nend\r\n\n----#include mods/Brass/lib/DistantMarket\n", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "ef2146", "Name": "Custom_Model", "Transform": { "posX": -21.0102787, "posY": 2.04855371, "posZ": 17.9656315, "rotX": 15.9896355, "rotY": 2.091308, "rotZ": 0.1752568, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -0", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662898031/8654B89ADD6F86CF2660089221131FCF612C1BF7/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d29062", "Name": "Custom_Model", "Transform": { "posX": -21.0126762, "posY": 2.675576, "posZ": 18.0193768, "rotX": 358.1597, "rotY": 2.22902632, "rotZ": 359.796936, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -1", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897757/5E50C093116294014ECCDE03D9A9E6569672A113/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "64baa0", "Name": "Custom_Model", "Transform": { "posX": -20.994875, "posY": 2.992218, "posZ": 18.023468, "rotX": 357.370148, "rotY": 1.3315444, "rotZ": 2.17532325, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "38e860", "Name": "Custom_Model", "Transform": { "posX": -21.0015259, "posY": 3.19968677, "posZ": 18.0156479, "rotX": 357.340424, "rotY": 1.4210552, "rotZ": 1.80088568, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0f42f6", "Name": "Custom_Model", "Transform": { "posX": -21.0006275, "posY": 3.42889547, "posZ": 18.0090618, "rotX": 356.997772, "rotY": 1.42747188, "rotZ": 0.6699905, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d9185c", "Name": "Custom_Model", "Transform": { "posX": -21.0016384, "posY": 3.63533, "posZ": 18.0000916, "rotX": 356.735535, "rotY": 1.44512081, "rotZ": 0.7109063, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "75e62c", "Name": "Custom_Model", "Transform": { "posX": -20.99952, "posY": 3.85383749, "posZ": 17.9935513, "rotX": 356.063263, "rotY": 1.35824215, "rotZ": 0.9026299, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "aa6301", "Name": "Custom_Model", "Transform": { "posX": -21.0011272, "posY": 4.05757332, "posZ": 17.9808388, "rotX": 355.880463, "rotY": 1.3269484, "rotZ": 0.9074324, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "eab62d", "Name": "Custom_Model", "Transform": { "posX": -21.00852, "posY": 4.518712, "posZ": 17.9874668, "rotX": 344.129852, "rotY": 0.683667958, "rotZ": 0.99828, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "cd9b7c", "Name": "Custom_Model", "Transform": { "posX": -20.4690742, "posY": 2.522895, "posZ": 19.5205479, "rotX": 356.8471, "rotY": 2.206768, "rotZ": 359.617157, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -4", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896546/6C8F6981CCD27A20FF0C42A24E4A2613C4B17E9D/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] } ] }, { "GUID": "33a1fd", "Name": "Infinite_Bag", "Transform": { "posX": 2.75, "posY": 1.45263, "posZ": 32.0, "rotX": -2.55726089E-08, "rotY": 1.47623939E-06, "rotZ": -1.10613065E-07, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "Distant Market Decks for Four Players", "Description": "", "GMNotes": "Distant Market Decks for Four Players", "ColorDiffuse": { "r": 0.552941144, "g": 0.454901934, "b": 0.8745098 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "34de64", "Name": "Custom_Model_Bag", "Transform": { "posX": 2.999906, "posY": 3.55998731, "posZ": 31.99999, "rotX": 0.00589238573, "rotY": 0.008263423, "rotZ": 359.946167, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market Tiles for Four Players", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "LayoutGroupSortIndex": 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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662898316/172B5D50E2B73FB6B059AD5AFA73477D1B4F9CF7/", "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 }, "LuaScript": "----#include mods/Brass/lib/DistantMarket\nfunction onLoad()\r\n -- Clickable area\r\n self.createButton({\r\n click_function = \"on_click_sell_to_distant_market\",\r\n position = { 0, 0.2, 0.05 },\r\n height = 900,\r\n width = 850,\r\n color = { 1, 1, 1, 0 },\r\n label = \"\",\r\n })\r\nend\r\n\n----#include mods/Brass/lib/DistantMarket", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "fba018", "Name": "Custom_Model", "Transform": { "posX": -17.9848022, "posY": 1.76575279, "posZ": 19.0098934, "rotX": 356.430847, "rotY": 2.477297, "rotZ": 359.420868, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -0", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662898031/8654B89ADD6F86CF2660089221131FCF612C1BF7/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0856fd", "Name": "Custom_Model", "Transform": { "posX": -17.9834423, "posY": 1.9750073, "posZ": 18.99877, "rotX": 356.391144, "rotY": 2.67488766, "rotZ": 359.21228, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -0", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662898031/8654B89ADD6F86CF2660089221131FCF612C1BF7/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4d6e69", "Name": "Custom_Model", "Transform": { "posX": -18.5367661, "posY": 2.20805287, "posZ": 17.50556, "rotX": 1.35218382, "rotY": 2.573485, "rotZ": 359.102539, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -1", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897757/5E50C093116294014ECCDE03D9A9E6569672A113/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "92fd47", "Name": "Custom_Model", "Transform": { "posX": -18.5327549, "posY": 2.437431, "posZ": 17.5108147, "rotX": 0.112336084, "rotY": 2.47682858, "rotZ": 359.142181, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -1", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897757/5E50C093116294014ECCDE03D9A9E6569672A113/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "fd4a90", "Name": "Custom_Model", "Transform": { "posX": -17.9778118, "posY": 2.65866852, "posZ": 18.9901257, "rotX": 359.870117, "rotY": 2.25843048, "rotZ": 359.6409, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "291bfe", "Name": "Custom_Model", "Transform": { "posX": -18.49509, "posY": 2.86650038, "posZ": 18.5084152, "rotX": 0.0563820451, "rotY": 2.309173, "rotZ": 359.56485, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "aba88a", "Name": "Custom_Model", "Transform": { "posX": -18.5308037, "posY": 3.127278, "posZ": 17.511095, "rotX": 0.5505951, "rotY": 2.23866773, "rotZ": 0.3991532, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f275e2", "Name": "Custom_Model", "Transform": { "posX": -18.01425, "posY": 3.3260684, "posZ": 17.9939079, "rotX": 0.5462149, "rotY": 2.24459076, "rotZ": 0.401630521, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4f5fa8", "Name": "Custom_Model", "Transform": { "posX": -17.9804745, "posY": 3.54704261, "posZ": 18.99348, "rotX": 359.8662, "rotY": 2.1781404, "rotZ": 359.816132, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "041add", "Name": "Custom_Model", "Transform": { "posX": -17.9799576, "posY": 3.75426483, "posZ": 18.99206, "rotX": 0.170961857, "rotY": 2.190674, "rotZ": 359.817871, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "4a96dd", "Name": "Custom_Model", "Transform": { "posX": -17.9792137, "posY": 3.95848441, "posZ": 18.9919167, "rotX": 0.338286549, "rotY": 2.17608666, "rotZ": 359.832, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "a9420d", "Name": "Custom_Model", "Transform": { "posX": -18.53171, "posY": 4.16991425, "posZ": 17.5118961, "rotX": 357.922577, "rotY": 2.14257169, "rotZ": 359.7915, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -4", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896546/6C8F6981CCD27A20FF0C42A24E4A2613C4B17E9D/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] } ] }, { "GUID": "844d10", "Name": "Infinite_Bag", "Transform": { "posX": -2.75, "posY": 1.45263, "posZ": 32.0, "rotX": 2.82197874E-07, "rotY": 1.25931081E-06, "rotZ": -5.058417E-07, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "Distant Market Decks for Two Players", "Description": "", "GMNotes": "Distant Market Decks for Two Players", "ColorDiffuse": { "r": 0.5537355, "g": 0.456945777, "b": 0.87688756 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "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, "LuaScript": "", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "58500b", "Name": "Custom_Model_Bag", "Transform": { "posX": -2.999913, "posY": 3.56002164, "posZ": 31.99999, "rotX": 0.00251687481, "rotY": -0.00078592886, "rotZ": 0.04941894, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market Tiles for Two Players", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "LayoutGroupSortIndex": 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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662898316/172B5D50E2B73FB6B059AD5AFA73477D1B4F9CF7/", "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 }, "LuaScript": "----#include mods/Brass/lib/DistantMarket\nfunction onLoad()\r\n -- Clickable area\r\n self.createButton({\r\n click_function = \"on_click_sell_to_distant_market\",\r\n position = { 0, 0.2, 0.05 },\r\n height = 900,\r\n width = 850,\r\n color = { 1, 1, 1, 0 },\r\n label = \"\",\r\n })\r\nend\r\n\n----#include mods/Brass/lib/DistantMarket", "LuaScriptState": "", "XmlUI": "", "ContainedObjects": [ { "GUID": "86fbe9", "Name": "Custom_Model", "Transform": { "posX": -23.9992638, "posY": 1.68965364, "posZ": 17.998745, "rotX": 0.0177082364, "rotY": 0.00522473548, "rotZ": 0.170858592, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -1", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897757/5E50C093116294014ECCDE03D9A9E6569672A113/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d742d3", "Name": "Custom_Model", "Transform": { "posX": -24.00045, "posY": 1.90589166, "posZ": 18.000145, "rotX": 0.0622546263, "rotY": 359.991547, "rotZ": 359.9576, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "595ec0", "Name": "Custom_Model", "Transform": { "posX": -23.9997616, "posY": 2.11960554, "posZ": 18.0002174, "rotX": 0.09628741, "rotY": -0.00523325428, "rotZ": 0.6392678, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "3ce96f", "Name": "Custom_Model", "Transform": { "posX": -24.001749, "posY": 2.35323858, "posZ": 18.00138, "rotX": 359.6867, "rotY": 0.009129842, "rotZ": 359.640167, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -2", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662897210/D6DA51B316D8661344CE21733BABC9A9FEB9970B/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e62d72", "Name": "Custom_Model", "Transform": { "posX": -24.0002556, "posY": 3.00238752, "posZ": 17.9998131, "rotX": 359.880951, "rotY": 0.0335011743, "rotZ": 0.06237802, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "137470", "Name": "Custom_Model", "Transform": { "posX": -23.9999256, "posY": 2.577227, "posZ": 17.9997177, "rotX": 0.276247978, "rotY": 0.036141742, "rotZ": 359.957153, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "674829", "Name": "Custom_Model", "Transform": { "posX": -23.9992466, "posY": 2.785658, "posZ": 18.0005722, "rotX": 0.3008041, "rotY": 0.0298152436, "rotZ": 0.37211296, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -3", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896909/6BD5BEEAE071F4038767675361BFDA51AEF2AAAC/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "5fb01e", "Name": "Custom_Model", "Transform": { "posX": -2.66981459, "posY": 4.338308, "posZ": 34.53963, "rotX": 5.88286646E-08, "rotY": -3.137316E-09, "rotZ": -6.437879E-08, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 }, "Nickname": "", "Description": "", "GMNotes": "Distant Market -4", "ColorDiffuse": { "r": 0.231372327, "g": 0.266666442, "b": 0.227450758 }, "Tags": [ "distant_market" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1666859577662902739/028E8A239BC2F048DD681D4517F09E04CC3BF5E1/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1666859577662896546/6C8F6981CCD27A20FF0C42A24E4A2613C4B17E9D/", "NormalURL": "", "ColliderURL": "", "Convex": true, "MaterialIndex": 3, "TypeIndex": 0, "CustomShader": { "SpecularColor": { "r": 1.0, "g": 1.0, "b": 1.0 }, "SpecularIntensity": 0.0, "SpecularSharpness": 2.0, "FresnelStrength": 0.0 }, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] } ] }, { "GUID": "8c807c", "Name": "ScriptingTrigger", "Transform": { "posX": -8.699674, "posY": 1.89116538, "posZ": 4.281188, "rotX": 359.914032, "rotY": -0.0002855728, "rotZ": 0.024242403, "scaleX": 2.5, "scaleY": 0.75, "scaleZ": 2.75 }, "Nickname": "Distant Market Deck Area", "Description": "", "GMNotes": "Distant Market Deck Area", "ColorDiffuse": { "r": 1.0, "g": 1.0, "b": 1.0, "a": 0.509803951 }, "LayoutGroupSortIndex": 0, "Value": 0, "Locked": true, "Grid": true, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "46f234", "Name": "Custom_PDF", "Transform": { "posX": 1.09300345E-05, "posY": 1.46963024, "posZ": 18.9999943, "rotX": -1.41179441E-07, "rotY": 180.0002, "rotZ": -1.61094409E-08, "scaleX": 3.0, "scaleY": 1.0, "scaleZ": 3.0 }, "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://files.roxley.com/Brass-Lancashire-Rulebook-2018.11.20-highlights.pdf", "PDFPassword": "", "PDFPage": 0, "PDFPageOffset": 0 }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1d7a31", "Name": "Custom_Tile", "Transform": { "posX": -0.00147961127, "posY": 1.66851866, "posZ": 29.484724, "rotX": 359.963165, "rotY": 180.015518, "rotZ": 0.168959066, "scaleX": 0.4, "scaleY": 1.0, "scaleZ": 0.4 }, "Nickname": "Teal Player", "Description": "", "GMNotes": "Teal Player", "ColorDiffuse": { "r": 0.7921569, "g": 0.858823538, "b": 0.8627451 }, "Tags": [ "turn_order" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/987863257461298671/90E652CD23FACB11A0AF1461B8EDB44A2696220E/", "ImageSecondaryURL": "http://cloud-3.steamusercontent.com/ugc/1681498983170107836/C0FF0B08FFE18002087CD7AB33C272420DCB421A/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 2, "Thickness": 0.1, "Stackable": false, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "1b49f9", "Name": "Custom_Model", "Transform": { "posX": 7.78545427, "posY": 1.72329307, "posZ": 9.385526, "rotX": 359.9136, "rotY": 0.0219834968, "rotZ": 0.02427106, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "7eb107", "Name": "Custom_Model", "Transform": { "posX": 8.286766, "posY": 1.72351706, "posZ": 9.393548, "rotX": 359.913574, "rotY": 0.0261699241, "rotZ": 0.0242470168, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "9aaa5c", "Name": "Custom_Model", "Transform": { "posX": 7.801694, "posY": 1.722289, "posZ": 8.711582, "rotX": 359.913574, "rotY": 0.0251542926, "rotZ": 0.0242575388, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "0158d4", "Name": "Custom_Model", "Transform": { "posX": 8.303019, "posY": 1.72248971, "posZ": 8.704063, "rotX": 359.913574, "rotY": 0.0271915272, "rotZ": 0.0242659356, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "be34d8", "Name": "Custom_Model", "Transform": { "posX": 7.793284, "posY": 1.72123766, "posZ": 8.01302052, "rotX": 359.913574, "rotY": 0.0201492216, "rotZ": 0.0242814552, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8c31a8", "Name": "Custom_Model", "Transform": { "posX": 8.3028, "posY": 1.72145283, "posZ": 8.01287651, "rotX": 359.913574, "rotY": 0.02758606, "rotZ": 0.024288062, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "f7cdcf", "Name": "Custom_Model", "Transform": { "posX": 7.801303, "posY": 1.72018087, "posZ": 7.306214, "rotX": 359.913544, "rotY": 0.0223583765, "rotZ": 0.0242667664, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "8692e2", "Name": "Custom_Model", "Transform": { "posX": 8.290501, "posY": 1.72037721, "posZ": 7.29921055, "rotX": 359.913574, "rotY": 0.0255489852, "rotZ": 0.02426269, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Iron", "Description": "", "GMNotes": "Iron", "ColorDiffuse": { "r": 0.9559999, "g": 0.391996562, "b": 0.112996571 }, "Tags": [ "iron" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "163a52", "Name": "Custom_Model", "Transform": { "posX": 6.519818, "posY": 1.722751, "posZ": 9.381053, "rotX": 359.9136, "rotY": 0.00287940423, "rotZ": 0.0243090987, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "98eabb", "Name": "Custom_Model", "Transform": { "posX": 7.02115536, "posY": 1.72297513, "posZ": 9.389084, "rotX": 359.913544, "rotY": 0.008637587, "rotZ": 0.0242940485, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "d904b9", "Name": "Custom_Model", "Transform": { "posX": 6.536051, "posY": 1.721747, "posZ": 8.707123, "rotX": 359.913544, "rotY": 0.008903106, "rotZ": 0.0242958441, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b20f35", "Name": "Custom_Model", "Transform": { "posX": 7.03739071, "posY": 1.72194767, "posZ": 8.699536, "rotX": 359.913544, "rotY": 0.009961518, "rotZ": 0.0242862832, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "db2ed3", "Name": "Custom_Model", "Transform": { "posX": 6.52765465, "posY": 1.72069561, "posZ": 8.008542, "rotX": 359.913544, "rotY": 0.004533413, "rotZ": 0.024297256, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "881a19", "Name": "Custom_Model", "Transform": { "posX": 7.037194, "posY": 1.72091091, "posZ": 8.008383, "rotX": 359.913574, "rotY": 0.0035558294, "rotZ": 0.0243018, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "761102", "Name": "Custom_Model", "Transform": { "posX": 6.5356617, "posY": 1.71963882, "posZ": 7.301738, "rotX": 359.913544, "rotY": 0.003886035, "rotZ": 0.0243023969, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "e8e076", "Name": "Custom_Model", "Transform": { "posX": 7.024844, "posY": 1.7198348, "posZ": 7.29441547, "rotX": 359.913574, "rotY": 0.00494181225, "rotZ": 0.0243083946, "scaleX": 0.55, "scaleY": 0.55, "scaleZ": 0.55 }, "Nickname": "Coal", "Description": "", "GMNotes": "Coal", "ColorDiffuse": { "r": 0.249996454, "g": 0.249996454, "b": 0.249996454 }, "Tags": [ "coal" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "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/1791847275764768421/B8A6C401489F87D67346A5B7C64BFE13EC207EB7/", "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764772961/EC1CE1E2D5D3E3024B9A7BFB8D5753278E54CE71/", "NormalURL": "http://cloud-3.steamusercontent.com/ugc/1791847275764776286/1A8995CE735149678ED73402261D7F05A432AF9C/", "ColliderURL": "", "Convex": true, "MaterialIndex": 1, "TypeIndex": 0, "CastShadows": true }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "92d292", "Name": "Custom_Tile_Stack", "Transform": { "posX": 17.7614727, "posY": 1.57240868, "posZ": -9.486605, "rotX": -2.595256E-07, "rotY": 179.978378, "rotZ": -2.01012952E-07, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "", "Description": "Teal Shipyard Precursor", "GMNotes": "Teal Shipyard Precursor", "ColorDiffuse": { "r": 0.247056991, "g": 0.247056991, "b": 0.247056991 }, "Tags": [ "teal_shipyard_pre" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758147975/BA19C5A1DDAFF050D2EF57E5439785F70721BAA3/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.154861, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" }, { "GUID": "b27ec8", "Name": "Custom_Tile_Stack", "Transform": { "posX": 17.7614956, "posY": 1.57133472, "posZ": 5.513078, "rotX": 0.003961326, "rotY": 180.0, "rotZ": 0.0124573838, "scaleX": 0.46, "scaleY": 1.0, "scaleZ": 0.46 }, "Nickname": "", "Description": "Purple Shipyard Precursor", "GMNotes": "Purple Shipyard Precursor", "ColorDiffuse": { "r": 0.247056931, "g": 0.247056931, "b": 0.247056931 }, "Tags": [ "purple_shipyard_pre" ], "LayoutGroupSortIndex": 0, "Value": 0, "Locked": false, "Grid": false, "Snap": true, "IgnoreFoW": false, "MeasureMovement": false, "DragSelectable": true, "Autoraise": true, "Sticky": true, "Tooltip": true, "GridProjection": false, "HideWhenFaceDown": false, "Hands": false, "MaterialIndex": -1, "MeshIndex": -1, "Number": 2, "CustomImage": { "ImageURL": "http://cloud-3.steamusercontent.com/ugc/960849557758151221/F18CDCB6B2F0D2E1605D5088AF5E26AD7D790F2F/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { "Type": 3, "Thickness": 0.1, "Stackable": true, "Stretch": true } }, "LuaScript": "", "LuaScriptState": "", "XmlUI": "" } ] }